兰州兰大《面向对象程序设计》16秋平时作业1
一、单选(共 13 道,共 52 分。)
1. 类型定义语句typedef执行的时机是() 题1. 编译 题2. 连接 题3. 运行 题4. 调试 标准解:
2. 类的构造函数可以带有( )个参数 题1. 0 题2. 1 题3. 2 题4. 任意 标准解:
3. 下列关于构造函数的描述中,错误的是() 题1. 构造函数可以设置默认参数
题2. 构造函数在定义类对象时自动执行 题3. 构造函数可以是内联函数 题4. 构造函数不可以重载 标准解:
4. 以下叙述中正确的是()
题1. 预处理命令行必须位于C源程序的起始位置 题2. 在C语言中,预处理命令行都以“#”开头
题3. 每个C程序必须在开头包括预处理命令行:#include 题4. C语言的预处理不能实现宏定义和条件编译的功能 标准解:
5. 以下不能定义为用户标识符的是() 题1. Main 题2. _0 题3. _int 题4. sizeof 标准解:
6. 以下不合法的字符常量是() 题1. \\018' 题2. '\\”' 题3. '\\\\'
题4. ‘\\xcc'
标准解:
7. 假定一个二维数组的定义语句为”inta[3][4]={{3,4},{2,8,6}}“ 则元素a[2][1] 的值为 题1. 0,4,8,6 标准解:
8. 下面关于数组的描述错误的是()
题1. 在C++语言中数组的名字就是指向该数组第一个元素的指针 题2. 长度为n的数组,下标的范围是0-n-1 题3. 数组的大小必须在编译时确定
题4. 数组只能通过值参数和引用参数两种方式传递给函数 标准解:
9. 已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是: int v1; long v2; 下列调用语句中正确的是() 题1. f(v1,&v2) 题2. f(v1,v2) 题3. f(&v1,&v2) 题4. f(&v1,v2) 标准解:
10. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐藏的第一个为 题1. abc 题2. *this 题3. this 题4. this& 标准解:
11. 一个类的构造函数通常被定义为该类的( )成员 题1. 公用 题2. 保护 题3. 私有 题4. 友元 标准解:
12. 下列关于类定义的说法中,正确的是() 题1. 类定义中包括数据成员和函数成员的声明 题2. 类成员的缺省访问权限是保护的 题3. 数据成员必须被声明为私有的 题4. 成员函数只能在类体外进行定 标准解:
13. 软件产品可被全部或部分重用于新的应用能力叫做软件的 题1. 可维护性 题2. 可复用性 题3. 兼容性 题4. 正确性 标准解:
《面向对象程序设计》16秋平时作业1
二、多选(共 2 道,共 8 分。)
1. C++中,函数调用的形式有: 题1. 传值调用 题2. 拷贝调用 题3. 传址调用 题4. 引用调用 标准解:
2. 类间的关系可以概括为如下() 题1. 泛化关系 题2. 引用关系 题3. 组合关系 题4. 关联关系 标准解:
《面向对象程序设计》16秋平时作业1
三、判断题(共 10 道,共 40 分。)
1. 内联函数本身是可以直接递归调用的。 题1. 错误 题2. 正确 标准解:
2. 在声明一个类时,需要在类内声明函数的原型,而函数的实现部分可以放在类内定义,也可以放在类外定义。 题1. 错误 题2. 正确 标准解:
3. 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了 题1. 错误 题2. 正确 标准解:
4. 当将一个类S 定义为零一个类A 的友元类时,类S的所有成员函数都可以直接访问类
A 的所有成员 题1. 错误 题2. 正确 标准解:
5. 当使用基类或内层类的带参数的构造函数来完成基类成员或对象成员的初始化时,有时候不需要定义派生类的构造函数。 题1. 错误 题2. 正确 标准解:
6. static成员函数没有this指针,因为它不是任何对象的组成部分。 题1. 错误 题2. 正确 标准解:
7. 虚函数由成员函数调用或通过指针,引用来访问。 题1. 错误 题2. 正确 标准解:
8. 类除了用class定义外,还可以用struct定义。 题1. 错误 题2. 正确 标准解:
9. 如果定义了不带初始值的类的实例,却没有显式的定义不带参数的默认构造函数,编译时程序就会报错。 题1. 错误 题2. 正确 标准解:
10. 用class virtual 声明的基类为虚基类 题1. 错误 题2. 正确 标准解: