西安交通大学《面向对象程序设计》作业考核试题 下载本文

内容发布更新时间 : 2024/5/18 6:47:20星期一 下面是文章的全部内容请认真阅读。

西安交通大学《面向对象程序设计》作业考核试题

一、 单选题

1. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。 A. 增加了一些新的运算符

B. 允许函数重载,并允许设置缺省参数 C. 规定函数说明符必须用原型 [正确]D. 引进了类和对象的概念 满分:2 分

2. 如果一个类至少有一个纯虚函数,那么该类称为().。 [正确]A. 抽象类 B. 虚基类 C. 派生类 D. 以上都不对 满分:2 分

3. 假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。 A. 无参构造函数 B. 带参构造函数 C. 赋值重载函数 [正确]D. 拷贝构造函数 满分:2 分

4. 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。

A. 与虚基类下面的派生类个数有关 B. 多次 C. 二次 [正确]D. 一次 满分:2 分

5. 派生类的构造函数的成员初始化列表中,不能包含()。 A. 基类的构造函数; B. 派生类中子对象的初始化; [正确]C. 基类的子对象初始化; D. 派生类中一般数据成员的初始化; 满分:2 分

6. 由C++目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp [正确]B. exe C. obj D. lik

满分:2 分

7. 以下叙述中正确的是()

A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 [正确]B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的

C. 在程序中使用内置函数使程序的可读性变差

D. 在定义函数时可以在形参表的任何位置给出缺省形参值 满分:2 分

8. 下列不是C++基本数据类型的是()。 A. int [正确]B. string C. char D. void 满分:2 分

9. 下列函数中,()不能重载。 A. 一般的成员函数 B. 一般的非成员函数 [正确]C. 析构函数 D. 构造函数。 满分:2 分

10. 关于继承中出现的二义性的描述中,()是错误的。

A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性; B. 解决二义性的最常用的方法是对成员名的限定法;

[正确]C. 在单继承情况下,派生类中对基类成员的访问也会出现二义性;

D. 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性; 满分:2 分

11. cout是某个类的标准对象,该类是()。 [正确]A. ostream B. istream C. stdout D. stdin 满分:2 分

12. 假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。 A. x.a B. x.a() C. x>GetValue() [正确]D. x.GetValue() 满分:2 分

13. 下列()的调用方式是引用调用。 A. 形参和实参都是变量 B. 形参是指针,实参是地址值 [正确]C. 形参是引用,实参是变量 D. 形参是变量,实参是地址值 满分:2 分

14. 下列关于成员函数特征的描述中,()是错误的。 [正确]A. 成员函数一定是内置函数 B. 成员函数可以重载

C. 成员函数可以设置参数的默认值 D. 成员函数可以是静态的 满分:2 分

15. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。 A. in

[正确]B. inline C. inLine D. InLiner 满分:2 分

16. 对于类中定义的成员,其隐含访问权限为()。 A. public B. ptotected [正确]C. private D. static 满分:2 分

17. 对类对象成员的初始化是通过构造函数中给出的()实现的。 A. 函数体

[正确]B. 参数初始化表 C. 参数表

D. 参数初始化表或函数体 满分:2 分

18. 关于静态成员,正确的说法是()。

A. 静态成员函数可以直接访问该类中的非静态成员 B. 非静态成员函数不能直接访问该类中的静态成员

C. 静态数据成员同其它数据成员一样通过构造函数进行初始化 [正确]D. 静态成员在任何对象创建之前就已经创建 满分:2 分

19. 定义析构函数时,应该注意()。 A. 其名与类名完全相同 B. 返回类型是void类型 [正确]C. 无形参,也不可重载 D. 函数体中必须有delete语句 满分:2 分

20. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。 [正确]A. 内置函数 B. 重载函数 C. 递归函数 D. 函数模板 满分:2 分

21. 派生类的成员函数可以直接访问基类的()成员。 A. 所有

[正确]B. 公有和保护 C. 保护和私有