北交《面向对象的程序设计》在线作业二
一、单选题(共 23 道试题,共 57.5 分。)
1. 下列静态数据成员的特性中,错误的是( ) A. 说明静态数据成员前边加static B. 静态数据成员要在类体外初始化
C. 引用静态数据成员时,要在静态数据成员前加和作用域运算符 D. 静态数据成员不是一个类所有对象共享的 正确答案:
2. 下列关于派生类可访问它基类成员的描述中,错误的是( )。 A. 派生类可访问它基类中的成员与继承方式有关 B. 派生类不可访问它基类中的私有成员
C. 公有继承方式下,派生类可访问它基类的私有成员
D. 私有继承方式下,派生类可访问它基类中的公有成员和保护成员 正确答案:
3. 执行语句序列 int i=0; while(i >< 25) i+=3; cout< 输出结果是/( ) A. 24 B. 25 C. 27 D. 28
正确答案:
4. 下列关于模板的叙述中,错误的是( )
A. 模板声明中的第一个符号总是关键字template
B. 在模板声明中用 < 和 > 括起来的部分是模板的形参表 C. 类模板不能有数据成员
D. 在一定条件下函数模板的实参可以省略 正确答案:
5. 有如下类声明: 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=n;} int get( )const{ return MyBASE::get( )+j; } }; 则类MyDERIVE A. 4 B. 3 C. 2 D. 1
正确答案:
6. 下列描述中,成员函数中包括( )的类肯定是抽象类 A. virtual double Area();
B. virtual double Area()=0; C. virtual double Area(void){} D. double Area(void)=0; 正确答案:
7. 下面有关重载函数的说法中正确的是( ) A. 重载函数必须具有不同的返回值类型 B. 重载函数形参个数必须不同 C. 重载函数必须有不同的形参列表 D. 重载函数名可以不同 正确答案:
8. 用关键字( )标记的函数被称为虚函数。 A. virtual B. private C. public D. protected 正确答案:
9. 下列不合法的变量名为( ) A. int B. int1 C. name_1 D. name0 正确答案:
10. 已知枚举类型定义语句为: enum Token { NAME, NUMBER, PLUS = 5, MINUS, PRINT = 10 }; 则下列叙述中错误的是( )( A. 枚举常量NAME的值为1 B. 枚举常量NUMBER的值为1 C. 枚举常量MINUS的值为6 D. 枚举常量PRINT的值为10 正确答案:
11. 已知在一个类体中包含如下函数原型: VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( ) A. 这是运算符-的重载运算符函数
B. 这个函数所重载的运算符是一个一元运算符 C. 这是一个成员函数
D. 这个函数不改变类的任何数据成员的值 正确答案:
12. 下面函数的功能是( )。 void fun(char s1[ ], char s2[ ]) { while(s2++=s1++); }( A. 字符串比较 B. 字符串复制 C. 字符串连接 D. 字符串反向 正确答案:
13. for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是() A. 0
B. 5 C. 6
D. 无数次 正确答案:
14. 关于虚函数的描述中,正确的是() A. 虚函数是一个static类型的成员函数 B. 虚函数是一个非成员函数
C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型 正确答案:
15. 下列字符列中,可作为C++语言程序自定义标识符是( ) A. switch B. file C. break D. do
正确答案:
16. 设x和y均为bool量,则x&&y为真的条件是 ( ) A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 正确答案:
17. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在 函数原型或函数头的前面。 A. in B. inline C. inLine D. InLiner 正确答案:
18. C++语言的跳转语句中,对于break和continue说法正确的是( ) A. break语句只应用于循环体中 B. continue语句只应用于循环体中
C. break是无条件跳转语句,continue不是
D. break和continue的跳转范围不够明确,容易产生问题 正确答案:
19. 有关运算符重载正确的描述是( )。
A. C++语言允许重载运算符时改变运算符的操作个数 B. C++语言允许重载运算符时改变运算符的优先级 C. C++语言允许重载运算符时改变运算符的结合性 D. C++语言允许重载运算符时改变运算符原来的功能 正确答案:
20. 下面的哪个保留字不能作为函数的返回类型( )。 A. void B. int
C. new D. long 正确答案:
21. 下列函数中,( )是对文件进行读操作的。 A. read() B. write() C. tellg() D. seekp() 正确答案:
22. 下列关于C++函数的叙述中,正确的是() A. 每个函数至少要具有一个参数 B. 每个函数都必须返回一个值 C. 函数在被调用之前必须先声明 D. 函数不能自己调用自己 正确答案:
23. 下列关于C++函数的说明中,正确的是( ) A. 内联函数就是定义在另一个函数体内部的函数 B. 函数体的最后一条语句必须是return语句
C. 标准C++要求在调用一个函数之前,必须先声明其原型
D. 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 正确答案:
北交《面向对象的程序设计》在线作业二
二、多选题(共 2 道试题,共 5 分。)
1. 下面说法正确的是( )
A. 将数据结构和算法置于同一个函数内,即为数据封装 B. 一个类通过集成可以获得另一个类的特征
C. 面向对象要求程序员集中于事物的本质特征,用抽象的观点看待程序 D. 同一消息为不同的对象接受时,产生的行为是一样的,这称为一致性 正确答案:
2. 下列函数中,可以作为虚函数的是( )。 A. 普通函数
B. 非静态成员函数 C. 构造函数 D. 析构函数 正确答案:
北交《面向对象的程序设计》在线作业二
三、判断题(共 15 道试题,共 37.5 分。)
1. 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。( ) A. 错误 B. 正确 正确答案:
2. 作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。( ) A. 错误 B. 正确 正确答案:
3. 构造函数的定义必须在类体内 。( ) A. 错误 B. 正确 正确答案:
4. 在派生过程中,派生类吸收包括构造函数和析构函数在内的所有基类成员。( ) A. 错误 B. 正确 正确答案:
5. 抽象类只能用作其他类的基类。( ) A. 错误 B. 正确 正确答案:
6. 用new动态申请的内存是在堆中分配的,而不是在栈中分配的。( ) A. 错误 B. 正确 正确答案:
7. 子对象的初始化在其构造函数的成员初始化列表中实现。( ) A. 错误 B. 正确 正确答案:
8. 析构函数是不能重载的 。( ) A. 错误 B. 正确 正确答案:
9. 使用const说明常量时,可以不必指出类型.( ) A. 错误
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库16秋北交《面向对象的程序设计》在线作业二在线全文阅读。
相关推荐: