类和对象练习题.docx
- 文档编号:8218310
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:17
- 大小:19.80KB
类和对象练习题.docx
《类和对象练习题.docx》由会员分享,可在线阅读,更多相关《类和对象练习题.docx(17页珍藏版)》请在冰豆网上搜索。
类和对象练习题
类和对象
一.单项选择题
1.在声明类时,关键字private、public和protected出现______。
A).至少一次B).至多一次
C).public至少一次D).任意次数
2.在声明类时省略权限隐含是____________.
A)privateB)publicC)protectedD)任意的
3.下列说法中错误的是_____。
A).构造函数没有类型
B).创建对象时构造函数自动被调用
C).在一个类中,只能定义一个构造函数
D).构造函数的函数名与类同名
4..以下叙述中不正确的是____。
A).类中的数据成员可以是私有或公有的,而类中的成员函数必须是公有的
B).拷贝构造函数的作用是使用一个已经存在的对象去初始化一个新的同类的对象
C).类中的构造函数可以重载,而析构函数不能重载
D).构造函数和析构函数都应是类的公有成员函数
5.下列______不是类的成员函数。
A).构造函数B).析构函数C).友元函数D).拷贝构造函数
6.通常拷贝初始化构造函数的参数是_____。
A)某个对象名B)某个对象的成员名
C)某个对象的引用名D)某个对象的指针名
7.设Mclass是个类名,该拷贝(复制)初始化构造函数是_______。
A)Mclass()B)Mclass(Mclass)
C)Mclass(Mclass*)D)Mclass(Mclass&)
8.下列对析构函数的描述中,正确的是___。
A)一个类中只能定义一个析构函数
B)析构函数名与类名不同;
C)析构函数的定义只能在类体内
D)析构函数可以有一个或多个参数
9.以下对析构函数描述正确的是______。
A).析构函数返回类型应是voidB).函数体内不能有循环语句
C)无形参,也不能重载D).函数体内必须有delete语句
10.关于成员函数,以下叙述中不正确的是_______。
A).成员函数一定是内联函数
B).成员函数可以重载
C).成员函数的参数可以设置默认值
D).成员函数可以是另一个类的友元函数
11.在面向对象的程序设计中,作用域符(:
:
)的功能是_____。
A).标识作用域的级别B).指出作用域的大小
C)定义作用域的大小D).标识某个成员函数是属于哪个类的
12.静态成员函数没有______。
A).返回类型B).返回值C).this指针D).局部变量
13..关于类的静态数据成员和静态成员函数,以下不正确的叙述是___。
A).类外可以直接引用类的静态数据成员和静态成员函数
B).类的静态数据成员可以在类的构造函数中使用
C).类的其他函数可以调用类的静态成员函数
D).类的静态数据成员被类的所有对象共享
14.以下关于类和对象叙述正确的是___。
A).一个类只能有一个对象
B).一个对象可以属于几个不同的类
C)对象是类的一个具体实例(实体)
D)一个类中可以有本类的对象
18.________将在对象生存期结束时由系统自动调用。
A)构造函数B)成员变量函数C)析构函数D)虚函数
19.下面关于友员函数的说法中,正确的是________。
A)友员函数是本类的一个成员函数
B)友员函数可以通过对象访问本类的所有成员
C)友员函数有this指针
D)友员函数可以直接访问本类的所有成员
20.假定AB为一个类名,则执行ABa(4),b[5],*p;语句时,自动调用该类构造函数的次数为。
A)5B)6C)7D)9
二.阅读程序,写出以下程序运行结果。
1.#include
lassmyclass
{inta,b;
public:
myclass(inti=0,intj=0);
voidshow();
};
myclass:
:
myclass(inti,intj)
{a=i;b=j;}
voidmyclass:
:
show()
{a+=b;b+=a;
cout<<”a=”< } voidmain() {myclassob1; ob1.show(); myclassob2 (2); ob2,show(); myclassob3(2,5); ob3.show(); } 运行结果: 2. #include classcube {public: cube(intht=2,intwd=5,intdp=3) {height=ht;width=wd;depth=dp; cout<<″depth=″< } ~cube(){cout<<″depth=″< intvolume(){returnheight*width*depth;} private: intheight,width,depth; }; voidmain() {cubecone(10,20,15),ctwo; cout< cout< } 运行结果: 3.写出以下程序运行结果。 #include classA {inta,b; public: A(){} A(inti,intj): a(i),b(j) {cout<<"constructor\n";} ~A(){cout< }; voidmain() {Aob2(2,5); Aob1(ob2); } 运行结果: 4.当输入3、4和输入10、20时,写出以下程序输出结果。 #include classTC {private: doublelead1,lead2,total; intp1,p2; public: TC(){p1=15;p2=20;} TC(intx,inty){p1=x;p2=y;} voiddatap() {cout<<″输入2个整数: ″; cin>>lead1>>lead2; total=p1*lead1+p2*lead2; } voiddisplay(){cout<<″total=″< }; voidmain() {TCA,B(6,8); A.datap(); A.display(); } 运行结果: 5.写出以下程序运行结果。 #include classvalue{ private: inta; public: value(){a=1;cout<<”Default\n”;} value(inti){a=i;cout<<”constructure\n”;} voidlist(){cout< ~value(){cout< }; voidmain() {valuedata1[4]; valuedata2[4]={10,20,30}; for(inti=0;i<4;i++)data1[i].list();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 练习题