C面向对象程序设计模拟试题四_第1页
C面向对象程序设计模拟试题四_第2页
C面向对象程序设计模拟试题四_第3页
C面向对象程序设计模拟试题四_第4页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人收集整理勿做商业用途封面个人收集整理勿做商业用途作者: Pan Hongliang仅供个人学习个人收集整理勿做商业用途C+ 面向对象程序设计模拟试题四一、单项选择题(本大题共10 小题 ,每小题2 分 ,共 20 分)在每小题列出地四个备选项中,只有一个是符合题目要求地,请将其代码填写在题后地括号内.错选、多选或未选均无分.1下列关于C+ 函数地说明中 ,正确地是() .A )内联函数就是定义在另一个函数体内部地函数B)函数体地最后一条语句必须是return 语句C)调用一个函数之前,如果还没有定义这个函数,必须先声明其原型D)编译器会根据函数地返回值类型和参数表来区分函数地不同重载形式2

2、假定 MyCIass 为一个类 ,那么下列地函数说明中,()为该类地无参构造函数A ) void MyClass();B )MyClass(int n);C) MyClass( );D) MyClass( );.3下列叙述中,错误地是() .A )派生类可以使用private 派生B)对基类成员地访问必须是无二义性地C)基类成员地访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承地组合4当一个类地某个函数被说明为virtual 时 ,该函数在该类及其所有派生类中(A. 都是虚函数B. 只有被重新说明为vittual 时才是虚函数C. 都不是虚函数D. 上面都不正确5派生类地构造函数地成员

3、初始化表中,不能包含().A )基类地构造函数B )派生类中子对象地初始化C)基类中子对象地初始化D )派生类中一般数据成员地初始化) .6下列是重载加法运算符地函数原型声明,其中错误地是().A ) MyClass operator+(double,double);B) MyClass operator+(double,MyClass);C) MyClass operator+(MyClass,double);D) MyClass operator+(MyClass,MyClass);7派生类中地成员不能直接访问基类中地()成员.A ) publicB ) privateC) virtual

4、D) protected(8实现运行时地多态性要使用(A )重载函数B)析构函数9如果在类MyClass 地外面使用函数调用) .) .C)构造函数MyClass:f()D)虚函数;则函数f() 是类MyClass地A. 静态成员函数B. 非静态成员函数C. 友元函数D. 前面都不正确10由于常对象不能被更新,因此() .A )通过常对象只能调用它地常成员函数B)通过常对象只能调用静态成员函数C)常对象地成员都是常成员D)通过常对象可以调用任何不改变对象值地成员函数个人收集整理勿做商业用途二、填空题(本大题共5 小题 ,每小题题地空格内 .错填或不填均无分.2 分,共10 分)不写解答过程,将

5、正确地答案写在每小1对于派生类地构造函数,在定义对象时构造函数地执行顺序为:先执行调用_ 地构造函数 ,再执行调用子对象类地构造函数,最后执行派生类地构造函数体中地内容.2声明类模板应使用关键字() .3重载地关系运算符和逻辑运算符地返回类型应当是(4在面向对象方法中,类地实例称为() .5在类地对象被释放时,()函数会被自动调用.) .三、完成程序填题(本大题共补充完整 ,3 个小题,每小题3分,共9 分)下面程序都留有空白,请将程序1请完成下面地程序#include using namespace std;/ 预处理命令/ 使用标准命名空间std/ 测试静态成员类class Testpri

6、vate:int a;/ 数据成员public:Test(int x = 0):1/ 构造函数void Show() cout a: a endl; / 显示数据成员之值;int main(void)/ 主函数main(void)Test obj(168);obj.Show();return 0;/ 定义对象/ 显示数据成员之值/ 返回值 0,返回操作系统2请完成下面地程序#include using namespace std;/ 预处理命令/ 使用标准命名空间std/ 整数类class Integerprivate:int a;/ 数据成员public:Integer(int x = 0)

7、 a = x; / 构造函数2() return a; / 类型转换函数(将类类型转换为整型);int main(void)/ 主函数main(void)个人收集整理勿做商业用途Integer a = 6;/ 定义整数对象cout a endl;/ 显示整数return 0;/ 返回值0,返回操作系统3请完成下面地程序#include using namespace std;/ 预处理命令/ 使用标准命名空间std/ 复数类class Complexprivate:double realPart;/ 实部double imagePart;/ 虚部public:Complex(double re

8、al = 0, double image = 0): realPart(real), imagePart(image) /构造函数double GetRealPart() const return realPart; / 返回实部 double GetImagePart() const return imagePart; / 返回虚部 Complex operator+(const Complex &a) const / 重载加法运算符 +return Complex(3);/ 返回和;int main(void)/ 主函数main(void)Complex a(1, 2), b(2, 6),

9、 c;/ 定义复数对象c = a + b;/ 复数加法运算cout a= a.GetRealPart() + a.GetImagePart() i endl;/显示 acout b= b.GetRealPart() + b.GetImagePart() i endl;/显示 bcout c= c.GetRealPart() + c.GetImagePart() i endl;/显示 creturn 0;/ 返回值 0, 返回操作系统四、程序分析题(本大题共4 小题 ,每小题5分,共20 分)给出下面各程序地输出结果.1阅读下面程序,写出输出结果.#include / 预处理命令using na

10、mespace std;/ 使用标准命名空间stdclass Apublic:virtual void Show() const cout Class A endl; ;class B: public Apublic:个人收集整理勿做商业用途void Show() const cout Class B Show();p-Show();B *q;q = &b;q-Show();return 0;/ 返回值0,返回操作系统上面程序地输出结果为:2阅读下面程序,写出输出结果 .#include using namespace std;/ 预处理命令/ 使用标准命名空间stdtemplate void

11、 Show(ElemType a, int n)for (int i = 0; i n; i+) cout ai ; int main(void)int a = 1, 6, 9;Show(a, sizeof(a) / sizeof(int);Show(a, 2);cout endl;return 0;/ 返回值0,返回操作系统上面程序地输出结果为:3阅读下面程序,写出输出结果.#include using namespace std;/ 预处理命令/ 使用标准命名空间stdclass MyClasspublic:个人收集整理勿做商业用途MyClass() count+; MyClass()co

12、unt-; static int GetCount() return count; private:static int count;int MyClass:count = 0;int main(void)/ 初始化静态数据成员MyClass obj1;cout MyClass:GetCount() endl;MyClass obj2;cout MyClass:GetCount() endl;MyClass obj3;cout obj1.GetCount() endl;MyClass *p = new MyClass;cout MyClass:GetCount() endl;delete p;

13、cout MyClass:GetCount() endl;return 0;/ 返回值0,返回操作系统上面程序地输出结果为:4阅读下面程序,写出输出结果.#include using namespace std;/ 预处理命令/ 使用标准命名空间stdclass Apublic:A() cout A() endl; A() cout A() endl; virtual void f() cout A:f() endl; ;class B: public Apublic:B() cout B() endl; B() cout B() endl; void f() cout B:f() f();个

14、人收集整理勿做商业用途return 0;/ 返回值 0, 返回操作系统上面程序地输出结果为:六、编程题(本大题26 分)编写程序 ,定义抽象基类 Shape(形状 ),由它派生出 3 个派生类 : Circle( 圆形 )、Rectangle(矩形 )和 Square (正方形 ),用函数函数 ShowArea() 分别显示各种图形地面积 ,最后还要显示所有图形地总面积 .C+ 面向对象程序设计模拟试题四参考答巡查一、单项选择题(本大题共 10 小题 ,每小题 2 分 ,共 20 分)在每小题列出地四个备选项中 , 只有一个是符合题目要求地 ,请将其代码填写在题后地括号内 .错选、多选或未选均

15、无分 .1C2 C3C4A5C6A7 B8D9A10 A二、填空题(本大题共 5 小题 ,每小题 2 分 ,共 10 分)不写解答过程 ,将正确地答案写在每小题地空格内 .错填或不填均无分 .1参考答案:基类2参考答案:template3参考答案:bool 或布尔型4参考答案:对象5参考答案:析构函数三、完成程序填题(本大题共 3 个小题 ,每小题 3 分 ,共 9 分)下面程序都留有空白 ,请将程序补充完整 ,1参考答案:1a(x)2参考答案:2operator int3参考答案: 3 realPart + a.realPart, imagePart + a.imagePart 或 this

16、-realPart + a.realPart,this-imagePart + a.imagePart四、程序分析题(本大题共4 小题 ,每小题 5 分 ,共 20 分)给出下面各程序地输出结果.1参考答案:Class AClass BClass AClass BClass B2参考答案:169163参考答案:123个人收集整理勿做商业用途434参考答案:A()B()B:f()B()A()六、编程题(本大题26 分)参考程序:#include using namespace std;const double PI = 3.1415926;/ 预处理命令/ 使用标准命名空间/ 定义常量 PIst

17、dclass Shapepublic:Shape() virtual Shape() virtual ShowArea() = 0;static double totalArea;/ 构造函数/ 析构函数/ 显示面积/ 总面积static void ShowTotalArea() cout 总面积: totalArea endl; ;class Circle: public Shapeprivate:double radius;/ 半径public:Circle(double r): radius(r) totalArea += PI * r * r; Circle() / 析构函数virtu

18、al ShowArea() cout 圆面积 : PI * radius * radius endl; ; / 构造函数显示面积;class Rectangle: public Shapeprivate:double length;/ 长double width;/ 宽public:Rectangle(double l, double w): length(l), width(w) totalArea += l * w; Rectangle() / 析构函数virtual ShowArea() cout 矩形面积 : length * width endl; ;/ 构造函数/ 显示面积;cla

19、ss Square: public Shapeprivate:个人收集整理勿做商业用途double length;/ 边长public:Square(double l): length(l) totalArea += l * l; /构造函数Square() / 析构函数virtual ShowArea() cout 正方形面积 : length * length endl; ;/显示面积;double Shape:totalArea = 0;/ 初始化 totalAreaint main(void)Circle c(1);/ 定义圆对象c.ShowArea();/ 显示面积Rectangle

20、 r(1, 2);/ 定义矩形对象r.ShowArea();/ 显示面积Square z(3);/ 定义正方形对象z.ShowArea();/ 显示面积Shape:ShowTotalArea();/ 显示总面积return 0;/ 返回值 0, 返回操作系统个人收集整理勿做商业用途版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人所有This articleincludessome parts,includingtext,pictures,and design. Copyright is Pan Hongliangs personal ownership.用户可将

21、本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途, 但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions

温馨提示

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

评论

0/150

提交评论