C面向对象程序设计方案模拟试题五 .docx
精品名师归纳总结C+ 面对对象程序设计模拟试卷五一、单项选择题(本大题共15 小题,每道题 2 分,共 30 分)在每道题列出的四个备选项中,只有一个是苻合题目要求的。请将其代码填写在题后的括号内。错选,多项或未选均无分。1. 以下对类的构造函数和析构函数描述正确选项(a)。A) 构造函数可以重载,析构函数不能重载B) 构造函数不能重载,析构函数可以重载C) 构造函数可以重载,析构函数可以重载D) 构造函数不能重载,析构函数不能重载2. 在函数定义前加上关键字“inline ”,表示该函数被定义为(b)。A )重载函数B )内联函数C)成员函数D )一般函数3下面有关重载函数的说明中,( c)是正确的。A) 重载函数必需具有不同的返回值类型B) 重载函数形参个数必需不同C) 重载函数必需具有不同的形参列表D) 重载函数名可以不同4. 以下有关类与对象的说法中,c 是不正确的。A) 对象是类的一个实列B) 任何一个对象只能属于一个具体的类C) 一个类只能有一个对象D) 类和对象的关糸和数椐类型与变量的关糸类似5. 已知 : Print 函数是一个类的常成员函数,它无返回值,以下表示中,正确选项a。A ) void Print const 。B const void Print 。C void const Print 。D void Printconst6. 假定 Myclass 为一个类 ,那么以下的函数说明中d 为该类的析构函数。A void Myclass 。B Myclass int n 。C Myclass 。D Myclass 7下面类的定义中有c 处错误。class myclassint i=0 。public:void myclass 。myclassvalue。 。A 1B2C3D48. 说明虚函数的关键字是(b )。A. inlineB. virtualC. defineD. static可编辑资料 - - - 欢迎下载精品名师归纳总结stdin9. cout 是某个类的标准对象的引用,该类是(a )。A. ostreamB. istreamC. stdoutD.10 如 果 class 类中 的所 有 成 员 在 定 义时 都 没有 使 用 关 键 字 public 、 private或可编辑资料 - - - 欢迎下载精品名师归纳总结protected,就全部成员缺省定义为(c)。A. publicB. protectedC. privateD static 11定义类模板时要使用关键字(d)。A. constB. newC. deleteD.template12 一个类的全部对象共享的是(d)。A. 私有数据成员B. 公有数据成员C. 爱惜数据成员D. 静态数据成员13静态成员函数没有(b)。A. 返回值 B. this 指针 C. 指针参数 D. 返回类型14. 解决多重继承中二义性问题的方法有(c)。A. 只能使用作用域辨论操作符B. 使用作用域辨论操作符或赋值兼容规章C. 使用作用域辨论操作符或虚基类D. 使用虚基类或赋值兼容规章15. 假如在类 CTest 的外面函数调用 CTest:f 。就函数 f 是类 CTest的( a)。A. 静态成员函数B. 非静态成员函数C. 友元函数D. 前面都不正确二、判定正误题(本大题共5 小题,每道题 2 分,共 10 分)判定正误,在题后的括号内, 正确的划上“”错误的划上”×”。1. 构造函数可以设置默认参数a2. 类的析构函数的作用是对象的初始化b3. cout 的默认输出对象是键盘, cin 的默认输入对象是屏幕b 4抽象类可以用来直接创建对象。b 5常对象可以调用任意成员函数。b三、 填空题(本大题共5 小题,每道题 2 分,共 10 分)不写解题过程, 将正确的答案写在每道题的空格内,错填或不填均无分。1. 重载运算苻”的函数名为 operator- 。2. C+ 中类的用途有两种 ,一种是类的实例化,即生成类的对象 ,另一种是通过继承,派生出新的类。3. 在下面程序的横线处填上正确的语句, 以实现动态多态。#include <iostream.h> class Basepublic:virtual void Fun cout << "Base:Fun" << endl。 。class Derived: public Base可编辑资料 - - - 欢迎下载精品名师归纳总结public: 。void Fun cout << "Derived:Fun" << endl。 可编辑资料 - - - 欢迎下载精品名师归纳总结int mainBase a, *pb。Derived b。Pb=&b 。pb->Fun 。/调派生类的成员函数Fun ,以实现动态多态return 0。4. 编译时多态性可以用(重载)函数实现。5. 使用 new 建立的动态对象在不用时必需用(delete)删除,以便释放所占用空间。六、 编程题(本大题共2 小题,每道题 10 分,共 20 分)1设计一个类 DateInfo ,要求其中意下述要求:( 1)要求有一个无参的构造函数,其初始的年、月、日分别为:2021, 6, 8。( 2)要求有一个带参数的构造函数,其参数分别对应年、月、日。( 3)要求用一个成员函数实现日期的设置。( 4)要求用一个成员函数实现输出日期。要求用一个成员函数实现日期的猎取。2定义一个复数类Complex, 二个数据成员为double 型 r, i 为 private 属性。定义代二个参数的构造函数和一个Show 函数用以输出r, i 的值 , 另外作为成员函数重载的运算苻” +”的功能是将此类二个对象的数据成员r 和 i 对应相加。这些成员函数的属性均为public. 请用 C+ 编写此程序 , 并编写测试程序进行测试。C+ 面对对象程序设计模拟试卷五参考答案一、单项选择题(本大题共15 小题,每道题 2 分,共 30 分)在每道题列出的四个备选项中,只有一个是苻合题目要求的。请将其代码填写在题后的括号内。错选,多项或未选均无分。1 A )2 B )3 C4C)5 A6 D7 C8 B9A10 C11D12 D13 B14 C可编辑资料 - - - 欢迎下载精品名师归纳总结15 A二、判定正误题(本大题共5 小题,每道题 2 分,共 10 分)判定正误,在题后的括号内, 正确的划上“”错误的划上”×”。1. 参考答案:“”2. 参考答案:“×”3. 参考答案:“×”4. 参考答案:“×”5. 参考答案:“×”三、 填空题(本大题共5 小题,每道题 2 分,共 10 分)不写解题过程, 将正确的答案写在每道题的空格内,错填或不填均无分1参考答案: oprator- 2参考答案:继承3. 参考答案: pb=&b4. 参考答案:重载5参考答案: delete六、 编程题(本大题共2 小题,每道题 10 分,共 20 分)1. 参考程序:#include <iostream> using namespace std。class DateInfoprivate:int year, month, day。可编辑资料 - - - 欢迎下载精品名师归纳总结public:DateInfo: year2021, month6, day8 DateInfoint y, int m, int d: yeary, monthm, dayd void Setint y, int m, int d可编辑资料 - - - 欢迎下载精品名师归纳总结year = y。month = m。day = d。void Show cout << year << " 年" << month << " 月" << day << " 日" << endl 。 。int mainDateInfo d1, d21988, 8, 18 。d1.Show 。d2.Show。可编辑资料 - - - 欢迎下载精品名师归纳总结d2.Set1999, 9, 19。d2.Show。return 0。2. 参考程序:#include <iostream > using namespace std。class Complexprivate:double r, i 。可编辑资料 - - - 欢迎下载精品名师归纳总结public: 。Complexdouble a, double b: ra, ib void Show cout << r << " " << i << endl。 Complex operator +Complex obj return Complexr + obj.r, i + obj.i。 可编辑资料 - - - 欢迎下载精品名师归纳总结int mainComplex c13.5, 4.5, c22.5, 5.5, c30.0, 0.0 。c3 = c1 + c2 。c3.Show。return 0。可编辑资料 - - - 欢迎下载