C语言程序设计复习题.doc
文本预览下载声明
《C++程序设计》复习题
选择题
1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )
A、类 B、对象 C、函数体 D、数据块
2.面向对象的程序设计语言必须具备的关键要素是( )
A、抽象和封装 B、抽象和多态性
C、抽象、封装、继承和多态性 D、抽象、封装和继承性
3.类的构造函数被自动调用执行的情况是在定义该类的( )
A、成员函数时 B、数据成员时
C、对象时 D、友元函数时
4.设有函数模板
templateclass Q
Q Sum(Qx,Qy){
return(x)+(y);
}
则下列语句中对该函数模板错误的使用是( )
A、Sum(10,2); B、Sum(5.0,6.7);
C、Sum(15.2f,16.0f); D、Sum(″AB″,″CD″);
5.已知类A是类B的友元,类B是类C的友元,则( )
A、类A一定是类C的友元
B、类C一定是类A的友元
C、类C的成员函数可以访问类B的对象的任何成员
D、类A的成员函数可以访问类B的对象的任何成员
6.静态成员函数没有( )
A、返回值 B、this指针
C、指针参数 D、返回类型
7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )
A、都是虚函数
B、只有被重新说明时才是虚函数
C、只有被重新说明为virtual时才是虚函数
D、都不是虚函数
8.下面叙述不正确的是( )
A、派生类一般都用公有派生
B、对基类成员的访问必须是无二义性的
C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
9.在C++中实现封装是借助于( )
A、枚举 B、类
C、数组 D、函数
10.所有在函数中定义的变量,都是( )
A、全局变量 B、局部变量
C、静态变量 D、寄存器变量
11.下列特性中,C与C++共有的是( )
A、继承 B、封装 C、多态性 D、函数定义不能嵌套
12.通常情况下,函数模板中的类型参数个数不能是( )
A、0 B、2 C、4 D、3
13.在下列成对的表达式中,运算符“+”的意义不相同的一对是( )
A、5.0+2.0和5.0+2 B、5.0+2.0和5+2.0
C、5.0+2.0和5+2 D、5+2.0和5.0+2
14.类的指针成员的初始化是通过函数完成的,这个函数通常是( )
A、析构函数 B、构造函数 C、其它成员函数 D、友元函数
15.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )
A、const char *p=“ABCD”; B、char const *p=“ABCD”;
C、char *const p=“ABCD”; D、const char * const p=“ABCD”;
16.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )
A、operator*(i.operator++(),k) B、operator*(operator++(i),k)
C、i.operator++().operator*(k) D、k.operator*(operator++(i))
17.下列说法中正确的是( )
A、类定义中只能说明函数成员的函数头,不能定义函数体
B、类
显示全部