面向对象程序设计复习题(含部分答案)

上传人:第*** 文档编号:34060695 上传时间:2018-02-20 格式:DOC 页数:7 大小:58KB
返回 下载 相关 举报
面向对象程序设计复习题(含部分答案)_第1页
第1页 / 共7页
面向对象程序设计复习题(含部分答案)_第2页
第2页 / 共7页
面向对象程序设计复习题(含部分答案)_第3页
第3页 / 共7页
面向对象程序设计复习题(含部分答案)_第4页
第4页 / 共7页
面向对象程序设计复习题(含部分答案)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《面向对象程序设计复习题(含部分答案)》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题(含部分答案)(7页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计复习要点及复习题(一) 复习要点1. 标识符、基本数据类型(字节数) 、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2. 三种基本控制结构、ifelse 语句、switch 语句、 for 语句、while 语句、dowhile 语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。3. 类的定义和使用、this 指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4. 指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。5. 派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。6. 虚函数与动态绑定

2、、纯虚函数与抽象类(二) 复习题一、 单项选择题。1. 在 switch 语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C) 。A. continue B. goto C. break D. default2. 说明友元函数的关键字是(D) 。A. inline B. virtual C. static D. friend3. 下面对指向常量的指针描述正确的是(C) 。A. 只能指向常量 B. 指向的数据可以被修改C. 可以指向普通变量 D. 必须进行初始化4. 友元函数没有(A) 。A. this 指针 B. 返回类型 C. 函数名 D. 参数5. 关于重载, (A)不正确。A.

3、类名可以重载 B. 函数名可以重载C. 运算符可以重载 D. 缺省参数是重载的一种方式6. 用 new 分配 n 维数组空间,首地址赋予指针 p,则 p 应为指向(C)维数组的指针。A. 0 B. 1 C. n-1 D. n7. 为类 X 重载前缀自增运算,则函数返回类型应为( C) 。A. X B. X* C. X& D. int8. 以下(A)未调用构造函数(X 为类名) 。A. X*p; B. X obj; C. X obj(1); D. X obj=2;9. 若在类外有函数调用 X:func();则函数 func 是类 X 的(C)函数。A. 私有静态成员函数 B. 公有非静态成员函数

4、C. 公有静态成员函数 D. 友元函数10. 若引用作参数,则对应的实参应为(D) 。A. 指针 B. 地址 C. 常量 D. 变量或对象本身11. 在 C+中,一个实型常数如果没有任何说明,表示(B)类型。A. float B. double C. long double D. void12. 静态数据是保存在程序所分配内存的(A) 。A. 全局数据区 B. 代码区 C. 堆区 D. 栈区13. 在 C+中类似于 C 中的有参宏定义的语法概念是(D) 。A. 重载函数 B. 默认参数的函数 C. 构造函数 D. 内联函数14. 具有函数作用域的标识符是(B) 。A. 变量 B. 标号 C.

5、函数名 D. 对象名15. 在头文件中,最好不应有(C) 。A. 内联函数定义 B. 常量定义 C. 数据定义 D. 宏定义16. 下面对指针的基类型描述正确的是(A) 。A. 可是任何类型 B. 不能是 void 类型C. 不能是函数 D. 不能是指针17. 要实现运行时多态性,则派生类应从基类( C ) 。A. 私有派生 B. 保护派生 C. 公有派生 D . 没有限制18. 用 class 定义的类的成员缺省段约束符的说明,则应为(B) 。A. 公有段 B. 私有段 C. 保护段 D. 都可以19. 在调用类的成员函数时,除了参数表中给出的参数外,实际上还传递了一个隐含参数,这就是(C)

6、 。A. 对象名 B. 类名 C. this 指针 D. void 指针20. 在用一个已经存在的对象初始化新对象时,要调用(C) 。A. 构造函数 B. 默认构造函数C. 拷贝构造函数 D. 带缺省参数的构造函数二、 多项选择题。1.下面对引用的使用描述正确的有(A B D) 。A. 可以引用指针 B. 不能创建引用数组C. 可定义指向引用的指针 D. 不允许 void&2 (B C)没有参数。A. 构造函数 B. 析构函数 C. 转换运算符 D. 友元函数3 (C D)没有 this 指针。A. 构造函数 B. 析构函数 C. 友元函数 D.静态成员函数4 (A B C )没有返回类型。A

7、. 构造函数 B. 析构函数 C. 转换运算符 D.静态成员函数5以下(B C D)只能被重载为成员函数。A. : B. = C. ( ) D. 6在类的定义中,可能自动产生的成员有(A B C D) 。A. 构造函数 B. 析构函数 C.拷贝构造函数 D.赋值函数7下面关于析构函数,正确的是(A B C D) 。A. 函数名与类名相同,但在前面加上字符B. 析构函数不带任何参数C. 一个类有一个且只有一个析构函数D. 注销对象时,系统自动调用析构函数8下面(B C D)不能重载。A. B. ?: C. . D. :9若类保护派生类,则类中可直接访问类中的(B C) 。A. 私有成员 B. 保

8、护成员 C. 公有成员 D. 所有成员10类中成员的访问权限描述符可以有(A B C) 。A. public B. virtual C. private D. static11.拷贝构造函数用于(C D) 。A. 给新对象赋值 B. 给旧对象赋值 C. 函数返回类型是类类型时D. 函数参数类型是类类型时12.若有 int a5;int* p=a; 则与表达式 a2等效的有(A B C) 。A. *(a+2) B. p2 C. *(p+2) D. *(+(+a)13.下面对 C+的语法描述正确的有(A B C D) 。A. 由多文件组成的 C+程序有且只有一个主函数B. 存在具有块作用域的函数C

9、. 标识符区分大小写D. 每一个语句可以跨越多行三、 判断改错,说明理由。1. 引用和指针作函数的参数,它们对实参的要求是一致的,都必须是地址。()指针要求是地址,引用要求是变量或对象本身。2. class 类和 struct 类没有什么区别。 ()class 缺省成员访问控制符是 private;而 struct 缺省是 public。3. 一个类的成员函数对同一类的数据成员具有无限制的访问权。 ( )4. 变量的作用域和生存期可认为是同一回事。 ()作用域是空间概念,生存期是时间概念。比如静态局部变量的作用域和生存期就不一致,它存在却可能不能访问。5. 只要在函数头前面加上关键字 inli

10、ne,则此函数一定是内联函数。()如果内联函数包含有复杂的控制结构,比如 switch 语句,编译程序也可选择忽略。6. 重载函数可以从参数类型、参数个数和返回类型上区分。 ()不能从返回类型上区分。四、 读程序,得结果。 (请自行上机运行)1#includeusing namespace std;class Apublic:A()coutusing namespace std;class Apublic:virtual void vf1()coutvf1();pa-vf2();pa-f();3.#includeusing namespace std;class Aint a;public:A

11、()a=0;coutusing namespace std;class example int a;public:example(int i=0)a=i;coutusing namespace std;int fac(int n)if(n=1)return 1;else return(n*fac(n-1);void main()int x=5;coutusing namespace std;class Datepublic:Date(int=2000,int=1,int=1);void print( );private:int year,month,day;Date:Date(int y,in

12、t m,int d)year=y;month=m;day=d;void Date:print( )coutyear”.”month”.”dayendl;void main( )Date t1,t2(2016),t3(2016,6),t4(2016,6,30);t1.print( );t2.print( );t3.print( );t4.print( );五、 程序设计。1.定义一个矩阵类 Matrix。要求:能处理任意大小的矩阵;能执行矩阵加法“”和矩阵乘法“*”运算。测试这个类。2.设计一个时间类 Time,其中包含三个数据成员(时 hour、分 minute、秒second) 。要求:定义构造函数,以秒为单位增加时间的成员函数以及时间的显示输出函数。测试这个类。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号