C++试题8
一、单项选择题 (30小题,30分)
1.在( ) 情况下适宜采用inline 定义内联函数。
(A)函数体含有循环语句(B)函数体含有递归语句
(C)函数代码少、频繁调用(D)函数代码多、不常调用
2.在类中说明的成员可以使用关键字( ) 进行修饰。
(A)private(B)extern (C)auto (D)register
析构函数的定义3.如果类A 被说明成类B 的友元,则( ) 。
(A)类 A 的成员即类 B 的成员(B)类 B 的成员即类 A 的成员(C)类 A 的成员函数不得访问类 B 的成员(D)类 B 不一定是类 A 的友元4.定义析构函数时,应该注意( ) 。
(A)其名与类名完全相同(B)返回类型是void 类型
(C)无形参,也不可重载(D)函数体中必须有delete 语句
5.下列的种类函数中,()不是类的成员函数。
(A)构造函数(B)析构函数(C)友元函数(D)拷贝构造函数
6.在派生类中重新定义虚函数时必须在( ) 方面与基类保持一致。
(A)参数类型(B)参数名字(C)操作内容(D)赋值
7.在公有继承的情况下,基类公有成员在派生类中的访问权限( ) 。
(A)受限制(B)保持不变(C)受保护(D)不受保护
8.通过( ) 调用虚函数时,采用动态束定。
(A)对象指针(B)对象名(C)成员名限定(D)派生类名
9.在int a=3, *p=&a中,*p 的值是( ) 。
(A)变量 a 的地址值(B)无意义(C)变量p 的地址值(D)3
10. C++ 类体系中,不能被派生类继承的有( ) 。
(A)转换函数(B)构造函数(C)虚函数(D)静态成员函数
11.假定一个类的构造函数为A(int aa, int bb){a=aa++; b=a*bb++;} ,则执行A x(4, 5);语句后,x.a 和x.b 的值分别为( ) 。
(A)4 和 5 (B)5 和 4 (C)4 和20 (D)20 和 5
12.假定AB 为一个类,则执行AB x ;语句时将自动调用该类的( ) 。(A)有参构造函数(B)无参构造函数(C)拷贝构造函数(D)赋值构造函数13. C++ 语言建立类族是通过( ) 。
(A)类的嵌套(B)类的继承(C)虚函数(D)抽象类
14.执行语句序列ofstream outf (“SALARY.DAT” ) ;if(...) cout<< “成功”;else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败”。由此可知,上面if 语句的条件表达式是( ) 。
(A)!outf 或者outf.fail ( ) (B)!outf 或者d ( )
(C)outf 或者outf.fail ( ) (D)outf 或者d ( )
15.静态成员函数不能说明为( ) 。
(A)整型函数(B)浮点函数(C)虚函数(D)字符型函数
16.面向对象的程序设计语言必须具备的关键要素是( )。
A.抽象和封装 B.抽象和多态性
C.抽象、封装、继承和多态性 D.抽象、封装和继承性
17.在C++ 中有以下4 条语句:static int hot=200; int &rad=hot;hot=hot+100; cout<<rad<<="" 条语句后输出为:(="">
(A)0 (B)100 (C)300(D)200
18.如果class 类中的所有成员在定义时都没有使用关键字pubilc, private, protected ,则所有
成员缺省定义为:( ) 。
(A)public (B)protected (C)private (D)static
19. C++设置虚基类的目的是( ) 。
(A)消除二义性(B)简化程序(C)提高运行效率(D)减少目标代码
20.实现运行时的多态性用( ) 。
(A)重载函数(B)构造函数(C)析构函数(D)虚函数
21.已知类A中一个成员函数说明如下:void Set(A &a);其中A &a的含义是()。(A)指向类A的指针a(B)将a的地址赋给变量Set
(C)a是类A对象的引用,用来作函数Set( )的形参
(D)变量A与a按位逻辑与,作为函数Set( )的参数
22.下列描述中,()是抽象类的特性。
(A)可以说明虚函数(B)可以进行构造函数重载
(C)可以定义友元函数(D)不能说明其对象
23.磁盘文件操作中,打开磁盘文件的访问方式中,()是以追加方式打开文件。(A)in (B)out (C)app (D)ate
24.下列函数中,()是对文件进行写操作。
(A)get( ) (B)read( ) (C)seekg( ) (D)put( )
25. 关于delete运算符的下列描述中,()是错误的。
(A)它必须用于new返回的指针;(B)使用它删除对象时要调用析构函数;
(C)对一个指针可以使用多次该运算符;
(D)指针名前只有一对方括号符号,不管所删除数组的维数
26.const int *p说明不能修改()。
(A)p指针;(B)p指针指向的变量;
(C)p指针指向的数据类型;(D)上述A、B、C三者;
27.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
(A)AB operator+(AB &a, AB &b) (B)AB operator+(AB &a)
(C)operator+(AB a) (D)AB & operator+()
28. 当一个函数无返回值时,定义它其函数类型应是()。
(A)void(B)任意(C)int(D)无
29.()是不可以作为该类的成员的。
(A)自身类对象的指针(B)自身类的对象
(C)自身类对象的引用(D)另一个类的对象
30.友元的作用是()
(A)提高程序的运行效率(B)加强类的封装性
(C)实现数据的隐藏(D)增加成员函数的种类
二、判断题(正确的选A,错误的选B,每题1分,共10分)
1.C++中使用了新的注释符‘//’,C语言中注释符为‘/*…*/’不能在C++中使用。()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。