1. 说明友元函数的关键字为()
A. inline
B. virtual
C. friend
D. define
2. 对A *p用new A或(A *)malloc(sizeof (A))赋值,如下叙述正确的是()
A. malloc分配内存后会调用构造函数初始化,但new函数不会。
B. new分配内存后会调用构造函数初始化,但malloc函数不会。
C. new和malloc分配内存后都会调用构造函数初始化。
D. new和malloc分配内存后都不会调用构造函数初始化。
3. 运算符重载是对已有的运算符赋予多重含义,因此()
A. 可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义
B. 可以改变一个已有运算符的优先级和操作数个数
C. 只能重载C++中已经有的运算符,不能定义新运算符
D. C++中已经有的所有运算符都可以重载
4. 有关类和对象的说法不正确的是()
A. 对象是类的一个实例
B. 一个类只能有一个对象
C. 任何一个对象只能属于一个具体的类
D. 类与对象的关系和数据类型与变量的关系相似
5. 下面()不能由编译系统自动生成
A. 构造函数
B. 析构函数
C. 拷贝构造函数
D. 友元函数
6. 重载“>>”时,为保证其连用性,重载函数的返回类型应为()
A. istream
B. ostream
C. istream &
D. ostream &
7. 下列关于运算符重载的描述中,正确的是()
A. 不能改变运算符的优先级
B. 能够改变操作数的数目
C. 能够重载内嵌类型的运算符的预定含义
D. 通过重载运算符“()”能够改变运算符的结合性
8. C++源程序文件的扩展名为()
A. .cpp
B. .c
C. .c++
D. .dll
9. 若有float f=6.8;int i= int(f); 则i的值为()
A. 6
B. 7
C. 6.8
D. 不确定
10. 下列()是C++语言的有效标识符。
A. No.1
B. 12345
C. _No1
D. int
11. private访问属性限制对象的成员可以在()中访问。
A. 本类的成员函数
B. main函数
C. 父类的成员函数
D. 子类的成员函数
12. 含有()的类称为抽象类,不能直接用它实例化对象。
A. 纯虚函数
B. 虚函数
C. 静态成员
D. 友元
13. 有类模板定义如下:template
A. Dream a
B. Dream
C. Dream
D. Dream
14. 如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()
A. myclass operator++()
B. myclass operator++( int )
C. myclass& operator++()
D. myclass& operator++( int )
15. 下列()不能有参数。
A. 构造函数
B. 析构函数
C. 友元函数
D. 运算
16. 下列关于抽象类的描述中,正确的是()
A. 抽象类中最多只能有一个纯虚函数
B. 抽象类不能定义该类的指针
C. 抽象类不能定义该类的对象
D. 抽象类至少有一个虚函数
17. 以下()是不正确的强制类型转换方式。
A. (type表达式)
B. (type)表达式
C. type(表达式)
D. (type)(表达式)
18. 有如下函数模板定义:template
A. f(3,5)
B. f(3.0,5.5)
C. f
D. f(3,5.5)
19. 空类就是没有()的类。
A. 类名
B. 任何成员
C. 数据成员
D. 成员函数
20. 下列关于类的描述中,错误的说法是()
A. 类是一组对象的模板
B. 类是数据和操作的封装体
C. 类是对象的实例
D. 类是一种自定义的数据类型