C++语言程序设计-----阶段作业2
一、单项选择题(共20道小题,共100.0分)
1. 多继承是指( )。
A. 一个派生类同时继承多个基类 B. 多个派生类同时继承一个基类
C. 基类本身又是一个更高一级基类的派生类 D. 派生类本身又是更低一级派生类的基类
知识点: 第八章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 2.
3. 有如下的类声明:
class MyBASE{ int k; public:
void set(int n){ k=n;} int get()const{ return k; } };
class MyDERIVED: protected MyBASE{ protected: int j; public:
void set(int m, int n){ MyBASE::set(m); j=m;} int get()const{ return MyBASE::get()+j; } };
则类MyDERIVED中保护成员的个数是( )。
A. 1 B. 2 C. 3 D. 4
知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 通过保护继承,基类的公有成员也变为派生类的保护成员
4. 有如下程序:
#include
void fun() { cout<<\};
class Derived : public Base { public: void fun()
{ _____________ // 显式调用基类的成员函数fun() cout<<\ } };
程序中画线处正确的语句是( )。
A. fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();
知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0
5. 在任何继承方式下,派生类的自有成员函数都不能访问原基类的某些成员,这些成员的原访问属
性必然是( )。
A. 公有或保护 B. 保护或私有 C. 私有或继承的私有 D. 继承的私有或公有
知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 6.
7. 有如下程序:
#include
int value() { return i-1; } int value() const { return i+1;} };
int Fun::i = 2; int main(){ inti=3; Fun fun1; const Fun fun2; _______________ return 0; }
若程序的输出结果是: 123
则程序中下画线处遗漏的语句是( )。
A. cout< 知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 8. 有如下类定义: class Test { public: Test() { a=0; c=0; } //① int f(int a) const {this->a = a;} //② static int g() { return a; } //③ void h(int b) {Test::b = b; }; //④ private: int a; static int b; constint c; }; int Test::b = 0; 在标注号码的行中,能被正确编译的是( )。 A. ① B. ② C. ③ D. ④ 知识点: 第九章单选题 学生答案: [D;] 得分: 提示: [5] 试题分值: 5.0 9. 下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静 态成员变量( )。 A. 静态函数 B. 虚函数 C. 构造函数 D. 析构函数 知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 10. 11. 关于静态数据成员的特性,下列哪一个说法是错误的( )。 A. 静态数据成员不是所有对象所共有的 B. 静态数据成员在类体外进行初始化 C. 声明静态数据成员时要在变量名前加关键字static来修饰 D. 引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符 知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 12. 13. 若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是哪一 种( )。 A. extern B. register C. auto D. static 知识点: 第九章单选题 学生答案: [D;] 得分: 提示: [5] 试题分值: 5.0 14. 15. 下列关于抽象类的表述中正确的是( )。 A. 没有函数成员的类称为抽象类 B. 含有虚函数成员的类称为抽象类 C. 含有纯虚函数成员的类称为抽象类 D. 用abstract修饰的类称为抽象类 知识点: 第十章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 16. 17. 有如下程序: #include virtual void f(){ cout<<\}; class BB:public AA{ public: BB(){ cout<<\