一、单选题(共 35 道试题,共 70 分。)V 1. 有关运算符重载正确的描述是( )。
A. C++语言允许重载运算符时改变运算符的操作个数
B. C++语言允许重载运算符时改变运算符的优先级
C. C++语言允许重载运算符时改变运算符的结合性
D. C++语言允许重载运算符时改变运算符原来的功能
满分:2 分
2. 下面关于析构函数特征的描述正确的是( )。
A. 一个类中可以定义多个析构函数
B. 析构函数名与类名相同
C. 析构函数不能指定返回类型
D. 析构函数可以有一个或多个参数
满分:2 分
3. 设x和y均为bool量,则x || y为假的条件是( )。
A. 它们均为真
B. 其中一个为真
C. 它们均为假
D. 其中一个为假
满分:2 分
4. 下列运算符中,不能被重载的是( )。
A. 【】
B. .
C. ()
D. /
满分:2 分
5. 下列函数中,( )是对文件进行读操作的。
A. read()
B. write()
C. tellg()
D. seekp()
满分:2 分
6. 对于语句cin>>x;中各个组成部分,下列叙述中错误的是( )。
A. ";"的作用是语句的结束
B. "cin"是一个输出流对象
C. ">>"称作提取运算符
D. "x"是一个变量
满分:2 分
7. cerr与clog是( )类的对象。
A. fstream
B. ostream
C. istream
D. ios
满分:2 分
8. ( )的功能是对象进行初始化。
A. 析构函数
B. 数据成员
C. 构造函数
D. 静态成员函数
满分:2 分
9. 关于关键字class和typename,下列表述正确的是( )。
A. 程序中所有typename都可以替换成class
B. 程序中所有class都可以替换成typename
C. A与B都正确
D. A与B都不正确
满分:2 分
10. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名( )。
A. main
B. MAIN
C. name
D. function
满分:2 分
11. 下列有关类的说法不正确的是( )。
A. 对象是类的一个实例
B. 任何一个对象只能属于一个具体的类
C. 一个类只能有一个对象
D. 类与对象的关系和数据类型与变量的关系相似
满分:2 分
12. 控制输出格式的控制符中,( )是设置输出宽度的。
A. ws
B. ends
C. setfill
D. setw
满分:2 分
13. 函数没有返回值的时候,应该选择( )的函数类型。
A. void
B. int
C. 不确定
D. float
满分:2 分
14. 假定a为一个整型数组名,则元素a[4]的字节地址为( )。
A. a+4
B. a+8
C. a+16
D. a+32
满分:2 分
15. 关于this 的描述正确的是( )。
A. this指针是指向对象的指针
B. this指针是在使用对象引用成员函数时系统自动生成的
C. this指针是指向成员函数的指针
D. this指针可以在程序中显示使用
满分:2 分
16. 关于this指针的说法正确的是( )
A. this指针必须显示说明
B. 当创建一个对象后,this指针就指向该对象
C. 成员函数拥有this指针
D. 静态成员函数拥有this指针
满分:2 分
17. 使用如setfill()的操作符对数据进行格式输出时,应包含( )头文件。
A. iostream
B. fstream
C. iomanip
D. stdlib
满分:2 分
18. 下面关于构造函数的描述正确的是( )。
A. 构造函数可以带有返回值
B. 构造函数的名字与类名完全相同
C. 构造函数必须带有参数
D. 构造函数必须定义,不能默认
满分:2 分
19. C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过( )派生出新的类。
A. 复用
B. 继承
C. 单继承
D. 多继承
满分:2 分
20. 假定一个类的构造函数为“A(int aa,int bb){a = aa.b=aa*bb;)”,则执行“A x(4, 5);”语句后,x.a和x.b的值分别为( )。
A. 4和5
B. 5和4
C. 4和20
D. 20和5
满分:2 分
21. 假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是( )。
A. “class derived::student prived {// …} ;”
B. “class derived:student public {// …} ;”
C. “class derived:private student{// …} ;”
D. “class derived::student public stuednt {// …} ;”
满分:2 分
22. 下列字符列中,可作为C++语言程序自定义标识符是( )
A. switch
B. file
C. break
D. do
满分:2 分
23. 下列关于派生类可访问它基类成员的描述中,错误的是( )。
A. 派生类可访问它基类中的成员与继承方式有关
B. 派生类不可访问它基类中的私有成员
C. 公有继承方式下,派生类可访问它基类的私有成员
D. 私有继承方式下,派生类可访问它基类中的公有成员和保护成员
满分:2 分
24. 类模板的模板参数( )。
A. 只可作为数据成员的类型
B. 只可作为成员函数的返回类型
C. 只可作为成员函数的参数类型
D. 以上三者皆可
满分:2 分
25. 关键字class和typename用于定义模板类型参数,其含义为( )。
A. 任何用户定义的类类型
B. C++内部的类型
C. A与B
D. 都不是
满分:2 分
26. 当使用ofstream流类定义一个输出流对象并打开一个文件时,文件的默认打开选择项是( )。
A. ios::in
B. ios:ut
C. ios::binary
D. ios::app
满分:2 分
27. 关于new运算符的描述中错误的是( )。
A. 用它创建对象和堆对象数组
B. 用它创建对象和堆对象数组时要调用相应的构造函数
C. 用它创建对象和堆对象数组时可用运算符delete释放
D. 用它创建堆对象数组时可指定初始值
满分:2 分
28. 下面的哪个保留字不能作为函数的返回类型( )。
A. void
B. int
C. new
D. long
满分:2 分
29. 下面( )不是构造函数的特征。
A. 构造函数可以重载
B. 构造函数可以设置缺省参数
C. 构造函数的函数名和类名相同
D. 构造函数必须指定返回值类型
满分:2 分
30. 关于输出运算符<<的重载,下列说法不正确的是( )。
A. 运算符函数的返回值类型是ostream&。
B. 重载的运算符必须定义为类的成员函数。
C. 运算符函数的第一个参数的类型是ostream&。
D. 运算符函数有两个参数。
满分:2 分
31. 假定AB为一个类,则执行“AB*p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A. 0
B. 1
C. 2
D. 3
满分:2 分
32. 文件操作中,打开文件的访问模式常量中,( )是以追加方式打开文件的。
A. ios::in
B. ios:ut
C. ios::binary
D. ios::ate
满分:2 分
33. 作用域运算符的功能是( )
A. 给定作用域的大小
B. 表示作用域的级别的
C. 某个成员是属于哪个类的
D. 指出作用域的范围的
满分:2 分
34. 下面关键字中( )是定义模板的关键字。
A. public
B. static
C. class
D. template
满分:2 分
35. 模板是实现类属机制的一种工具,它的功能非常强大,它是元约束类属机制和约束类属机制的集合,允许用户构造类属函数的是( )。
A. 类模板
B. 模板类
C. 函数模板
D. 模板函数
满分:2 分
西交11春学期《面向对象程序设计》在线作业
试卷总分:100 测试时间:--
单选题 多选题 判断题
二、多选题(共 5 道试题,共 10 分。)V 1. 不能用友元函数重载的运算符是( )。
A. +
B. =
C. []
D. ->
满分:2 分
2. 下列关于静态成员的描述中,正确的是( )。
A. 静态成员分为静态数据成员和静态成员函数两种
B. 静态数据成员初始化不用构造函数
C. 静态成员函数中一般不能直接引用非静态成员
D. 静态数据成员初始化必须在类体中
满分:2 分
3. 下列的各函数中,( )属于类的成员函数。
A. 构造函数
B. 析构函数
C. 拷贝初始化构造函数
D. 友元函数
满分:2 分
4. 下面说法正确的是( )
A. 所有的函数都可以说明为内置函数
B. 具有循环语句、switch语句的函数不能说明为内置函数
C. 使用内置函数,可以加快程序执行的速度,但会增加程序代码的大小
D. 使用内置函数,可以减小程序代码大小,但使程序执行的速度减慢
满分:2 分
5. 下面关于析构函数描述正确的是( )
A. 系统可以提供默认的析构函数
B. 析构函数必须由用户定义
C. 析构函数没有参数
D. 析构函数可以设置默认参数
满分:2 分
西交11春学期《面向对象程序设计》在线作业
试卷总分:100 测试时间:--
单选题 多选题 判断题
三、判断题(共 10 道试题,共 20 分。)V 1. 派生类不能作为基类派生出新类。( )
A. 错误
B. 正确
满分:2 分
2. 纯虚函数是一种不给出具体实现的虚函数。( )
A. 错误
B. 正确
满分:2 分
3. 抽象类只能用作其他类的基类。( )
A. 错误
B. 正确
满分:2 分
4. 析构函数是不能重载的 。( )
A. 错误
B. 正确
满分:2 分
5. 变量必须先定义后赋值。( )
A. 错误
B. 正确
满分:2 分
6. 成员函数中调用的虚函数可能实现动态联编。( )
A. 错误
B. 正确
满分:2 分
7. 子对象的初始化在其构造函数的成员初始化列表中实现。( )
A. 错误
B. 正确
满分:2 分
8. 构造函数的定义必须在类体内 。( )
A. 错误
B. 正确
满分:2 分
9. 一个类可以作为另一个类的友元类。( )
A. 错误
B. 正确
满分:2 分
10. 在C++语言中,类是支持数据封装的工具。( )
A. 错误
B. 正确
满分:2 分