C面向对象程序设计模拟试题五.doc

上传人:wux****ua 文档编号:8681484 上传时间:2020-03-31 格式:DOC 页数:5 大小:48.02KB
返回 下载 相关 举报
C面向对象程序设计模拟试题五.doc_第1页
第1页 / 共5页
C面向对象程序设计模拟试题五.doc_第2页
第2页 / 共5页
C面向对象程序设计模拟试题五.doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
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)6假定Myclass为一个类,那么下列的函数说明中( d )为该类的析构函数。A) void Myclass( ); B) Myclass( int n);C) Myclass( ); D) Myclass( )7下面类的定义中有 ( c ) 处错误。 class myclassint i=0; public: void myclass( );myclass(value); ; A) 1 B)2 C)3 D)48说明虚函数的关键字是( b )。A. inlineB. virtualC. defineD. static9cout是某个类的标准对象的引用,该类是( a )。A. ostreamB. istreamC. stdoutD. stdin10如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为( c )。 A. public B. protected C. private Dstatic 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构造函数可以设置默认参数 a 2类的析构函数的作用是对象的初始化 b 3cout的默认输出对象是键盘, cin的默认输入对象是屏幕b4抽象类可以用来直接创建对象。b5常对象可以调用任意成员函数。b三、 填空题(本大题共5小题,每小题2分,共10分)不写解题过程, 将正确的答案写在每小题的空格内,错填或不填均无分。1重载运算苻” 的函数名为( operator- )。 2C+中类的用途有两种, 一种是类的实例化, 即生成类的对象, 另一种是通过( 继承 ),派生出新的类。3在下面程序的横线处填上正确的语句, 以实现动态多态。#include class Base public: virtual void Fun() cout Base:Fun endl; ;class Derived: public Base public: void Fun() cout Derived:Fun 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分)在每小题列出的四个备选项中,只有一个是苻合题目要求的。请将其代码填写在题后的括号内。错选,多选或未选均无分。1A)2B)3C) 4C)5A)6D)7C)8B)9A)10C) 11D)12D)13B) 14C) 15A)二、判断正误题(本大题共5小题,每小题2分,共10分)判断正误,在题后的括号内,正确的划上“”错误的划上”。1参考答案:“”2参考答案:“”3参考答案:“”4参考答案:“”5参考答案:“”三、 填空题(本大题共5小题,每小题2分,共10分)不写解题过程, 将正确的答案写在每小题的空格内,错填或不填均无分1参考答案:oprator-2参考答案:继承3参考答案:pb=&b 4参考答案:重载5参考答案:delete六、 编程题(本大题共2小题,每小题10分,共20分)1参考程序:#include using namespace std;class DateInfo private:int year, month, day; public: DateInfo(): year(2010), month(6), day(8) DateInfo(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(1988, 8, 18);d1.Show();d2.Show();d2.Set(1999, 9, 19);d2.Show();return 0;2参考程序:#include using namespace std;class Complex private: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 c1(3.5, 4.5), c2(2.5, 5.5), c3(0.0, 0.0);c3 = c1 + c2; c3.Show(); return 0;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!