C面向对象程序设计重点复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计复习题
一、单项选择题
1.下面关于对象概念的描述中,_______是错误的。(B)
A.对象代表着正在创建的系统中的一个实体
B.对象就是C语言中的结构体变量
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
2. 继承机制的作用是:(C)
A.信息隐藏B.数据封装C.定义新类D.数据抽象
3.有关析构函数的说法不正确的是_________(D)
A.析构函数有且只有一个
B.析构函数无任何函数类型
C.析构函数没有形参
D.析构函数不能是虚函数
4.友元的作用之一是__________(A)
A.提高程序的运行效率
B.加强类的封装性
C.实现数据的隐藏性
D.增加成员函数的种类
5.通常拷贝构造函数的参数是__________。(C)
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
6.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是________。(C)
A.virtual show()=0;
B.virtual void show();
C.virtual void show()=0;
D.void show=0 virtual;
7.下面关于友元的描述中,错误的是_________。(D)
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
8.在C++中,_________运算符不能重载。(B)
A. +
B.?:
C.-
D.<=
9.下列关于运算符重载的描述中,________是正确的。(D)
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变优先级
C.运算符重载可以改变结合性
D.运算符重载不可以改变语法结构
10. 在下列函数原型中,可以作为类AA构造函数的是_________(D)
A.void AA(int) ; B.int AA( ) ; C.AA(int)const; D.AA(int);
11.在声明类时,下面的说法正确的是_________。(C)
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private,public,protected可以按任意顺序出现
D.没有用private,public,protected定义的数据成员是公有成员
12.继承具有________,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。(B)
A.规律性
B.传递性
C.重复性
D.多样性
13.在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则___________。(A)
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上都不对
14.对虚函数的调用__________。(D)
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
15.关于成员函数特征的下述描述中,_______是错误的。(A)
A.成员函数一定是内置函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
16. 下面关于c++语言变量的叙述错误的是_______(B)
A.在c++语言中变量分为auto,static,extern和register四种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
17.下列的各类函数中,_______不是类的成员函数。(C)
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
18. 有如下类声明:
class Foo {ing bar ;};
则Foo类的成员bar是_________(C)
A.公有数据成员B.公有成员函数C.私有数据成员
D.私有成员函数
19.下列表示引用的方法中,__________是正确的。已知:int m=10; (D)
A. float &t=&m;
B.int &y=10;
C.int &z;
D. int &x=m;
20.设置虚基类的目的是________。(B)
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标
代码
21.对于类中定义的成员,其隐含访问权限为________(B)
A.public
B.private
C.static
D.protected
22.关于类和对象不正确的说法是________ (B)
A.类是一种类型,它封装了数据和操作
B.一个类的对象只有一个
C.对象是类的实例
D.一个对象必属于某个类
23.声明一个类的对象时,系统自动调用一个函数___c___;撤消对象时,系统自动调用一个函数;该函数为___c___
A.成员函数;构造函数
B.复制构造函数;析构函数
C.构造函数;析构函数
D.析构函数;复制构造函数
24.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的__A______
A.private成员
B.protected成员
C.public成员
D.友元
25.在C++中,要实现动态联编,必须使用_____D___调用虚函数
A.类名
B.派生类指针
C.对象名
D.基类指针
26.若一个类中含有纯虚函数,则该类称为____A____
A. 抽象类
B. 纯基类
C.派生类
D. 基类
27.下列关于this指针的叙述中,正确的是___D_____
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
28.有如下类声明:
class Book {int num() ;};
则Book类的成员num是___D_____
A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数
29.下面有关重载函数的说法中正确的是___C_____
A.重载函数必须具有不同的返回值类型;
B.重载函数形参个数必须不同;??
C)重载函数必须有不同的形参列表; D.重载函数名可以不同;
30.设置虚基类的目的是___A_____
A.消除二义性
B.简化代码
C.提高运行效率
D.减少目标代码
31.在C++语言程序中,对象之间的相互通信通过___B_____
A.继承实现
B.调用成员函数实现
C.封装实现
D.函数重载实现