已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习题一、选择题:1. 下列哪项不是面向对象程序设计的主要特征?d a.封装 b.继承 c.多态 d.结构2. 若给出声明: const char cc=a; char *pc; const char *pcc; char c=b;char * const cpc=&c;下面的赋值表达式哪个是合法的?a. pc=&cc; b. pcc=&cc; c. cpc=pc; d. cc=f;3. C+程序的执行总是从哪里开始的?a. main函数 b.头文件 c.第一行 d.函数注释4. 下面对类和对象的描述不正确的是: a. 对象是类的一个实例 b.任何一个对象都归属于一个具体的类 c.一个类只能有一个对象 d.类与对象的关系和数据类型与变量的关系相似5. 以下哪个不是循环语句? a. while语句 b. do-while语句 c. for语句 d. if-else语句6. 按照标识符的要求,下列符号哪个不能组成标识符? a. 下划线 b.连接符 c.大小写字母 d.数字字符7. 已知:int m=10; 在下列表示引用的方法中,哪个是正确的? a. int &x=m; b. int &y=10; c. int &z; d. float &t=&m;8. 以下有关类与结构体的叙述不正确的是:a.结构体中只包括数据;类中封装了数据和操作b.结构体的成员对外界通常是开放的;类的成员可以被隐蔽c.用struct可以声明一个类型名;而class可以声明一个类名d.结构体成员默认为private;类成员默认为public9. 下列哪个不是构造函数的特征?a.构造函数的函数名与类名相同 b.构造函数可以重载c.构造函数可以设置缺省参数 d.构造函数必须指定返回值类型10. 已知:类A中一个成员函数说明如下:void Set(A&a); 其中,A&的含义是什么? a. 指向类A的指针为a b.将a的地址值赋给变量Set c. a是类A对象的引用,用来作函数Set()的参数 d. 变量A与a按位与作为函数Set( )的参数11. 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用下列哪个函数? a.内联函数 b.重载函数 c.递归调用 d.嵌套调用12. 已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,哪个是正确的? a. void print( ) const; b. const void print( ); c. void const print( ); d. void print(const);13. 以下能对对象进行初始化的是:a.构造函数 b.析构函数 c.友元函数 d.静态成员函数14. 关于虚函数的描述中,哪个是正确的? a.虚函数是一个static类型的成员函数 b.虚函数是一个非成员函数 c.基类中说明了虚函数后,派生类中其对应的函数可不必说明为虚函数 d.派生类的虚函数与基类的虚函数具有不同的参数个数和类型15. 设有以下类的定义: class Temp int x; public: void setx(int t=0);若在类外定义成员函数setx(),以下定义形式中正确的是哪个?a.void setx(int t) b.void Temp:setx(int t) c.Temp void: setx(int t) d.void Temp:setx(int t=0) 16. 以下关于函数重载的要求,哪个叙述不正确?a.函数名相同 b.函数参数个数不同 c.函数返回值类型不同d.函数参数个数相同但参数类型至少有一个不同17. 已知:class Aprivate: int a,b;float c;public: void func1(int,int);friend int getData();则类A分别有几个数据成员和成员函数?a. 2,2 b. 3,2 c. 2,1 d. 3,118. 已知:int a, *pa; char *p=”I like computer!”; 关于运算符new和delete的使用,下列表达式哪个是正确的? a. a=new int; b. delete p12; c. pa=new int(10); d. p=new int12;19. 对于类A而言,已知函数A:A(const A& a); 则该函数是类A的什么函数?a. 内联函数 b. 友元函数 c. 拷贝构造函数 d. 类型转换函数20. 下面类的定义中哪个地方是不正确的?class examplefloat x;public: example(); (a) example(int,float); (b) operator int(); (c) example();const int y=23; (d);二、填空题: 1. 在C+中,函数的参数有两种传递方式,它们是值传递和( 引用传递 )。2. 当一个成员函数被调用时,该成员函数的( this指针 )指向调用它的对象。3. 在C+类中,const关键字可以修饰对象和成员函数,const对象不能(调用非const的普通成员函数 ),const成员函数不能( 修改 )。 4. 在C+类中,有一种不能定义对象的类,这样的类只能被继承,称之为( 抽象类 ),定义该类至少具有一个( 纯虚函数 )。5. 描述命题A小于B或小于C的表达式为( ab|ac )。6. 在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有( 类名和作用域分辨符 ),对此数据成员的访问将出现歧义。7. 静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象( 共用 )。8. 面向对象的程序设计有四大特征,它们是抽象、封装、( 继承 )、( 重载 )。9. 在C+中,构造派生类对象时,总是先从( 基类 )的初始化开始的。10. 类是用户定义的类型,具有类类型的变量称作( 对象 )。11. 静态的成员函数没有隐含的( this 指针 ),所以,它们只能访问静态的数据成员。12. 构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个、( 无参数 )、( 不能重载 )。13. 在公有派生的情况下,基类数据成员在派生类中的访问权限( 不变 )。三、看程序写结果:1. #includeclass Exampleint a,b; public: Example() a=b=0; coutThis is an example!b) coutbendl; else couta=bendl; void disp() couta=a,b=bba=b2. #includeclass Sampleint x;public:Sample();Sample(int a)x=a; Sample(const Sample &a) x=a.x+ +10;void print()coutx=xendl;void main()Sample s1(2),s2(s1);s1.print();s2.print();结果X=3X=123. #includeclass Aprivate: int x1;public: A(int p1)x1=p1; coutIn A:; coutx1=x1endl; A( )coutdestructing class A!endl; class B int x2;public:B(int p2) x2=p2; coutIn B:; coutx2=x2endl; B( )coutdestructing class B!endl; ;class C int x3;public: C(int p3) :x3(p3)coutIn C:; coutx3=x3endl; C( ) coutdestructing class C!endl;void main() A a(1); B b(2); C c(4); 结果:In A: x1=1In B: x2=2In C: x3=4destructing class C!destructing class B!destructing class A!4. #include class p_example int num; public: void set_num(int val) num=val; void show_num() coutnumshow_num(); p=obj; p-show_num(); p+; p-show_num(); p-;p-show_num(); 结果:11020105. #include int& f(int &i) i+=10; return i;void main() int k=0; int& m=f(k); coutkendl; m=20; coutkendl;结果10206. #include class A int a;public: int c;A(int i) a=i; c=0; int fun(int b) return a*c+b; void main() int A:*pc=&A:c;int (A:*pfun)(int)=&A:fun;A ob(1);ob.*pc=3; coutob.cendl;cout(ob.*pfun)(7)*pc=4;coutcendl;cout*pfun)(7)endl;结果3104117. #includeclass b public: b()coutb:b() constructedendl; virtual b()coutb:b()destructedendl;class d:public b private:char *buf; public: d(int i )coutd:d()constructedendl;buf=new chari; virtual d()delete buf;cout d:d()destructedendl; ;void fun (b *a ) delete a;void main () b *a=new d(25); fun (a);结果b:b constructedd:dconstructedd:d destructedb:b destructed四、编写程序:1. 定义一个复数类,使其至少具有实部(re)和虚部(im)两个数据成员,并具有显示复数、求两个复数相加、两个复数相减的功能。还要求定义类的构造函数初始化复数。#includeclass fushuprivate : float re; float im;public : fushu() fushu(float x,float y) re =x,im=y; void disp() coutre+imiendl; fushu plus(fushu a,fushu b) fushu:re=a.re+b.re; fushu:im=a.im+b.im; fushu minus(fushu a,fushu b) fushu:re=a.re-b.re; fushu:im=a.im-b.im; ;void main () fushu a1(10,5),a2(5,3),a3; a3.plus(a1,a2); a3.disp(); a3.minus(a1,a2); a3.disp();2编写一个程序计算正方体、球体、圆柱体的表面积和体积。要求:创建一个Shape抽象类,正方体、球体、圆柱体是其派生类;编写main()函数显示所求正方体、球体、圆柱体的表面积和体积(使用一个抽象类的指针完成)。#includeclass shapeprotected: float x;public : shape(float x)shape:x=x; virtual void disp()=0;class cube:public shapepublic: cube(float x):shape(x) void disp() cout 正方体表面积:x*x*6endl; cout 正方体体积:x*x*xendl; ;class sphere:public shapepublic: sphere(float x):shape(x) void disp() cout 球形表面积:4*3.14*x*xendl; cout 球形体体积:4/3*3.14*x*x*xendl; ;class yuanzhu:public shape float height ;public: yuanzhu(float x,float y):shape(x) height=y ; void disp() cout 圆柱体表面积:2*3.14*x*x+2*3.14*x*heightendl; cout 圆柱体体积:x*x*3.14*heightdisp(); s=&s1; s-disp(); s=&y; s-disp(); 3. 定义长方形类Rectangle,其属性是长(length)和宽(width),要求能够计算长方形的面积和周长。#includeclass rectangleprivate: int length,width ;public : rectangle() rectangle(int x,int y )length=x,width=y; int perimeter() return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑幕墙支撑钢结构创新创业项目商业计划书
- 2025年秋人教版小学数学六年级第一学期期末模拟测试卷及答案
- 增强现实购物体验APP创新创业项目商业计划书
- 人教版(2024)五年级全一册信息科技第10课 猜数游戏有捷径 教案
- 宜昌市体育中心场馆惠民开放:全民健身服务升级实践 -2026 届高三语文主题读写素材 11 月热点时事写作素材
- 2025年基因编辑技术在疾病治疗中的突破与伦理
- 2025年长春辅警招聘考试真题参考答案详解
- 2025年西双版纳州辅警协警招聘考试备考题库附答案详解(考试直接用)
- 2025年通辽辅警协警招聘考试备考题库含答案详解(培优b卷)
- 2025年阿克苏辅警协警招聘考试备考题库(含答案详解)
- 赠予汽车使用权合同
- 2024年东北大学辅导员考试真题
- 如何做好病人的护理查房
- 《基础工程教学课件》基础工程
- 《股票形态分析》课件
- “储储”动人:哈萨克斯坦电力市场潜在新风口202502
- 《福建省普通高校毕业生就业协议书》
- 景观规划设计(第3版)课件:居住区景观规划设计
- 2024年第一学期七年级数学期中考试数学试题卷
- 巾帼家政服务职业技能大赛(家务服务员赛项)决赛试题库(含答案)
- 中级铁路车辆电工职业技能鉴定考试题及答案
评论
0/150
提交评论