C面向对象程序设计模拟试题五.doc_第1页
C面向对象程序设计模拟试题五.doc_第2页
C面向对象程序设计模拟试题五.doc_第3页
C面向对象程序设计模拟试题五.doc_第4页
C面向对象程序设计模拟试题五.doc_第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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论