77范文网 - 专业文章范例文档资料分享平台

《面向对象程序设计C》期末试卷及标准答案(A)(2)

来源:网络收集 时间:2020-06-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Complex(double, double); //有两个形参的构造函数

friend Complex operator+(Complex&, Complex&); //对“+”运算符进行重载 friend ostream& operator<<(ostream&, Complex&); //对“<<”运算符进行重载 friend istream& operator>>(istream&, Complex&); //对“>>”运算符进行重载 private:

double real,imag; }; 要求:(1)写出该类的所有构造函数的类外定义代码。 (2)写出对运算符“+”、“<<”、“>>”进行重载的运算符重载函数的定义。 2、(17分)下列Shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。 class Shape {public: virtual double area()=0; };

double total(Shape *s[ ], int n) { double sum=0.0;

for(int i=0; iarea( ); return sum; }

要求:(1)从Shape类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。

(2)写出main()函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)。

第 6 页

《面向对象程序设计C++》期末考试试卷(A)标准答案

一、单项选择题(每小题2分,共40分)

1-5.C D B C C 6-10.A A D D B 11-15.A B B B C 16-20.D C B C C

二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)

1. 抽象 实例 2. this指针 3. E D、F A、B、C、D、E D、F 4. virtual 5. 静态多态性 动态多态性

6. 抽象类 7. friend void fun(A &a) 8. 继承 组合或模板

9. 在对象被系统释放之前做一些内存清理工作 10. A(const A&) 11. A operator++(int) 三、阅读程序(13分) 1、a=89,b=56,c=12 2、ABC

3、A::A() called. B::B() called. B::~B() called.

A::~A() called. 4、Call B's function f() Call B's function g() Call C's function g() 四、编程题(共27分) 1、(10分)

Complex::Complex(){real=0;imag=0;} Complex::Complex(double r){real=r;}

Complex::Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c1,Complex &c2) { Complex c;

c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c; }

ostream& operator << (ostream& output,Complex& c) { output<<\ return output; }

istream& operator >> (istream& input,Complex& c)

{ cout<<\ input>>c.real>>c.imag;

第 7 页

return input; } 2、(17分)

class Circle:public Shape {public:

Circle(double r){radius=r;} void set()

{ cout<<\ cin>>radius; }

void show()

{ cout<<\ double area() {return 3.14159*radius*radius;} private:

double radius; };

class Square:public Shape {public:

Square(double a){this->a=a;} void set()

{ cout<<\ cin>>a; }

void show()

{ cout<<\} double area(){return a*a;} private:

double a; };

int main() {

Circle C(5.5); C.show(); Square S(9.9); S.show();

Shape *s[]={&C,&S};

cout<<\ return 0; }

第 8 页

}

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《面向对象程序设计C》期末试卷及标准答案(A)(2)在线全文阅读。

《面向对象程序设计C》期末试卷及标准答案(A)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1086482.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: