资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
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 Print(const)d)为该类的析构函数。6.假定Myclass为一个类,那么下列的函数说明中( A) void Myclass( );B)Myclass( int n);C) Myclass();D)Myclass()7下面类的定义中有(c)处错误。class myclassint i=0;public:void myclass( ) ; myclass(value);A) 1B)2C)3D)48.说明虚函数的关键字是( 是(b )。A. inlineB. virtualC. defineD. static9. cout是某个类的标准对象的引用,该类是( a )A. ostreamB. istreamC. stdoutD. stdinC. privateD. static)。C. deleteD. templateB. 公有数据成员D. 静态数据成员)。C. 指针参数D.返回类型10.如果class类中的所有成员在定义时都没有使用关键字public、private或protected, 则所有成员缺省定义为(c )。A. publicB. protected11定义类模板时要使用关键字(dA. constB. new12 一个类的所有对象共享的是(dA. 私有数据成员C.保护数据成员13. 静态成员函数没有(bA.返回值B. this指针14. 解决多重继承中二义性问题的方法有(c )。A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则15.如果在类CTest的外面函数调用CTest:f();则函数f()是类CTest的(a )。A.静态成员函数B.非静态成员函数C.友元函数D.前面都不正确二、判断正误题(本大题共5小题,每小题2分,共10分)判断正误,在题后的括号内, 正确的划上“V”错误的划上” X”。1. 构造函数可以设置默认参数a2. 类的析构函数的作用是对象的初始化b3. cout的默认输出对象是键盘,cin的默认输入对象是屏幕b4. 抽象类可以用来直接创建对象。b5. 常对象可以调用任意成员函数。b 三、填空题(本大题共5小题,每小题2分,共10分)不写解题过程,将正确的答案写在 每小题的空格内,错填或不填均无分。1. 重载运算苻”一”的函数名为(operator-)。2. C+中类的用途有两种,一种是类的实例化,即生成类的对象,另一种是通过(继承),派生出新的类。3. 在下面程序的横线处填上正确的语句,以实现动态多态。#include class Base public:virtual void Fun() cout Base:Fun endl; ;class Derived: public Base public:void Fun() cout Derived:Fun Fun(); return 0;4. 编译时多态性可以用(重载)函数实现。5使用new建立的动态对象在不用时必须用(delete)删除,以便释放所占用空间。六、编程题(本大题共2小题,每小题10分,共20分)1. 设计一个类DateInfo,要求其满足下述要求:(1) 要求有一个无参的构造函数,其初始的年、月、日分别为:2010, 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. C)4. C)5. A)6. D)7. C)8. B)9. A)10. C)11. D)12. D)13. B)14. C)15. A)二、判断正误题(本大题共5小题,每小题2分,共10分)判断正误,在题后的括号内, 正确的划上“V”错误的划上X”。1 参考答案:“厂2. 参考答案:“X”3. 参考答案:“X”4. 参考答案:“X”5. 参考答案:“X”三、填空题(本大题共5小题,每小题2分,共10分)不写解题过程,将正确的答案写在 每小题的空格内,错填或不填均无分1.参考答案:oprator-2 参考答案:继承3. 参考答案:pb=&b4. 参考答案:重载5. 参考答案:delete六、编程题(本大题共2小题,每小题10分,共20分)1. 参考程序:#include using namespace std;class DateInfoprivate:int year, month, day;public:Datelnfo(): year(2010), month(6), day(8) Datelnfo(int y, int m, int d): year(y), month(m), day(d) void Set(int y, int m, int d)year = y;month = m;day = d;void Show() cout year 年 month 月 day 日 endl; ;int main()DateInfo d1, d2(198 & & 18);d1.Show();d2.Show();d2.Set(1999, 9, 19);d2.Show();return 0;2. 参考程序:#include using namespace std;class Complexprivate:double r, i;public:Complex(double a, double b): r(a), i(b) void Show() cout r i endl; Complex operator +(Complex obj) return Complex(r + obj.r, i + obj.i); ;int main()Complex cl(3.5, 4.5), c2(2.5, 5.5), c3(0.0, 0.0); c3 = c1 + c2;c3.Show();return 0;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号