一、单选题(共 35 道试题,共 70 分。)V
1. 将一个string类对象赋予新值,应该使用string类的()函数。
A. assign
B. insert
C. swap
D. find
满分:2 分
2. 在派生类中重新定义虚函数时,除了(),其他方面都应与基类中相应的虚函数保持一致。
A. 函数名
B. 参数
C. 函数体
D. 返回值类型
满分:2 分
3. 交换两个string类对象所表示的字符串的内容,应该使用string类的()函数。
A. assign
B. insert
C. swap
D. find
满分:2 分
4. 单目运算符作为类成员函数重载时()。
A. 有形参
B. 没有形参
C. 有实参
D. 以上都不正确
满分:2 分
5. 有如下类声明: class Sample { int x; }; 则Sample类成员x是Sample类的()。
A. 公有数据成员
B. 保护数据成员
C. 私有数据成员
D. 以上选项都不正确
满分:2 分
6. 一个类的友元函数或友元类能够通过成员操作符访问该类的()。
A. 私有成员
B. 保护成员
C. 公有成员
D. 所有成员
满分:2 分
7. 下列关于动态联编的描述中,错误的是()。
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编调用函数操作是通过指向对象的指针或对象
D. 动态联编是在编译时确定操作函数的
满分:2 分
8. 类的默认的无参构造函数()。
A. 在任何情况下都存在
B. 仅当未定义无参构造函数时存在
C. 仅当未定义有参构造函数时存在
D. 仅当未定义任何构造函数时存在
满分:2 分
9. 类MyClass的定义如下: class MyClass { public: MyClass() { value = 0;} SetVariable(int i) { value = i; } private: int value; } 则对下列语句序列正确的描述是()。 MyClass *p,my; p=&my;
A. 语句p=&my;是把对象my赋值给指针变量p
B. 语句MyClass *p,my;会调用两次类MyClass的构造函数
C. 对语句 *p.SetVariable(5)的调用是正确的
D. 语句p->SetVariable(5)与语句my.SetVariable(5)等价
满分:2 分
10. 静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。
A. 类体内
B. 类体外
C. 构造函数内
D. 内联函数内
满分:2 分
11. 下面描述中,错误的是()。
A. 公有继承时,基类中的public成员在派生类中仍是public的
B. 公有继承时,基类中的private成员在派生类中仍是private的
C. 公有继承时,基类中的protected成员在派生类中仍是protected的
D. 私有继承时,基类中的public成员在派生类中是private的
满分:2 分
12. 类对象占用内存的大小与()有关。
A. 数据成员
B. 成员函数
C. 数据成员和成员函数
D. 私有成员
满分:2 分
13. 下面对静态数据成员的描述中,正确的是()。
A. 静态数据成员可以在类体内进行初始化