复习作业题的参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目一类和对象
选择题
1.可以在本类及派生类的成员函数中进行访问的访问控制修饰符是()
A.private
B.protected
C.public
答案:B
2.在IDE中将编程项目采用多文件结构下,类的定义一般放在()
A.头文件
B.程序文件
C.主程序文件
答案:A
3.内联成员函数在类外定义时要将其和类定义一起放在()
A.头文件
B.程序文件
C.主程序文件
答案:A
4.下面哪个内存区域是C++中的运行时动态内存分配区域?
A.代码区
B.栈区
C.数据区
D.堆区
答案:D
5.对象作为函数参数使用时,一般使用()形式
A.引用
B.指针
C.对象拷贝
答案:A
6.同类的多个不同对象的数据成员值各有不同,但不同对象可以共享类的成员函数代码,
实际调用成员函数时,是通过()来区分不同对象的。
A.显式给出不同对象不同地址
B.隐含的this指针
C.引用
答案:B
7.下面哪一种情况不会自动调用拷贝构造函数。()
A.用一个对象初始化另一个对象时
B.当一个对象作为值传递给一个函数时
C.当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区
D.函数调用结束后,栈区中的返回对象拷贝给主调程序的对象
E.建立指向对象的指针并初始化指针值时
答案:E
8.下列哪些对象的数据成员类型可以不用初始化表的方式进行初始化()
A.常量数据成员
B.引用数据成员
C.类中对象成员
D.一般数据成员
答案:D
9.下列哪一种类设计一般无需在类中设计静态数据成员以使建立的多个对象共享静态数
据数据成员。
A.一个链表类的头指针和尾指针
B.一个学生类中用于保存建立了多少个学生对象的计数器
C.银行帐号类中的年利率
D.一般只用于建立一个对象的类
答案:D
10.一个类中的公有(public)性质的静态数据成员,以下哪一种访问方式是错误的()
A.对象名.静态数据成员名
B.指向对象的指针—>静态数据成员名
C.类名::静态数据成员名
D.类名.静态数据成员名
答案:D
11.下列哪一个运算符不能够被类所重载()
A.“.”成员访问运算符
B.“*”成员指针访问运算符
C.“::”域运算符
D.“?:”条件运算符
E.“=”赋值运算符
答案:E
12.下列哪一种顺序是派生类数据成员的正确的初始化顺序。()
A.基类成员—>对象成员—>新定义的普通成员
B.基类成员—>新定义的普通成员—>对象成员
C.新定义的普通成员—>对象成员—>基类成员
D.对象成员—>新定义的普通成员—>基类成员
答案:A
13.下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()
A.基类构造函数—>对象成员所在类的构造函数—>派生类自己的构造函数初始化自
定义数据成员
B.基类构造函数—>派生类自己的构造函数初始化自定义数据成员—>对象成员所在
类的构造函数
C.派生类自己的构造函数初始化自定义数据成员—>对象成员所在类的构造函数—>
基类构造函数
D.对象成员所在类的构造函数—>派生类自己的构造函数初始化自定义数据成员—>
基类构造函数
答案:A
判断题
1、构造函数可以由用户用代码显式进行调用。(X)
2、定义内联函数的关键字是inline。(X)
3、构造函数返回值必须为void类型。(X)
4、名为complex的类有无参构造函数,可以用complex c1()形式建立类,并调用其无
参构造函数。(X)
5、无论什么情况,编译器都会默认提供一个无参构造函数。(X)
6、建立类的对象时,不提供任何参数的方式都是调用类的无参构造函数。(X)
7、拷贝构造函数可以进行重载。(X)
8、默认拷贝构造函数只能完成“浅拷贝”。(√)
9、构造函数和析构函数一般的权限都应该设为public。(√)
10、不管是建立何种对象,在对象不使用时,都应该手动调用析构函数进行清除对
象的操作。(X)
11、类中所有数据成员都是在构造函数内完成(X)
12、类中的静态数据成员都是公有的(public)。(X)
13、类中的静态数据成员为了方便访问,一般还需要在类中定义静态成员函数用于
访问。(√)
14、类中的非静态成员函数不能访问类的静态数据成员。(X)
15、友元类可以访问对应类的所有权限的数据成员。(√)
16、友元类和对应类都具有互相访问对方所有权限数据成员的效果。(X)
17、“=”赋值运算符在被类所重载后,能被类的派生类所继承使用。(X)
18、类的运算符重载采用友元函数或成员函数方式,其函数参数是一样的。(X)
19、C++和Java一样,只支持单继承。(X)
20、派生类可以通过基类提供的具有保护权限的成员函数间接访问基类的私有权
限数据成员。(√)
21、类派生过程中派生类的继承方式中,公有继承是最常用的继承方式。(√)
22、派生类调用各个构造函数的顺序和调用析构函数的顺序相反。(√)
23、多态性只能通过类继承中在基类定义虚函数实现。(X)
24、析构函数可以定义为虚函数。(√)
25、含有虚函数的类不能建立实体对象。(X)
26、抽象类不能建立实体对象。(√)