已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计题(共46分)1. (14分)编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求:(1) 定义抽象基类Shape,要求在其中声明求面积的纯虚函数;(2) Shape基类分别定义三个派生类 “三角形(Triangle)、正方形(Square)、圆形(Circle)”;(3) 编写面积函数,要求用基类指针求解对象面积;并在主函数中定义如下对象进行测试;Circle circle(12.6); /12.6为半径Square square(3.5); /3.5为边长Triangle triangle(4.5,8.4); /4.5为底边长,8.4为高参考程序#include using namespace std;class Shape public: virtual double area()=0;class Circle:public Shape double radius; public: Circle(double r=0) radius=r; double area() return radius*radius*3.1415926; ;class Square:public Shape double edge; public: Square(double e=0) edge=e; double area() return edge*edge; ;class Triangle:public Shape double width,height; public: Triangle(double w=0,double h=0) width=w; height=h; double area() return width*height/2; ;double area(Shape *s) return s-area();int main() Shape *s; Circle circle(12.6); s=&circle; coutarea(s)endl; Square square(3.5); s=□ coutarea(s)endl; Triangle triangle(4.5,8.4); s=▵ coutarea(s)endl; return 0;2. (10分)设计一个日期类Date,要求其满足下述要求: (1) 要求有分别表示年、月、日的私有数据成员; (2) 要求有一个无参的构造函数,其初始的年、月、日分别为:2012,6,8; (3) 要求有一个带参数的构造函数,其参数分别对应年、月、日; (4) 要求用一个成员函数实现日期的设置; (5) 要求用一个成员函数实现输出日期,输出格式如“2012年6月8日”;(6) 要求用一个成员函数实现日期的获取;参考程序:#include using namespace std;class Date int year,month,day; public: Date() year=2012; month=6; day=8; Date(int y,int m,int d) year=y; month=m; day=d; void show() const coutyear年month月day日endl; void getDate(int &y,int &m,int &d) const y=year; m=month; d=day; void setDate(const int &y,const int &m,const int &d) year=y; month=m; day=d; ;int main() Date d; d.show(); d.setDate(2011,9,1); int year=0,month=0,day=0; d.getDate(year,month,day); coutyear=year,month=month,day=dayendl; return 0;3. (10分)定义一个复数类Complex,要求其满足下述要求: (1) 要求有分别表示复数实部和虚部的私有数据成员real、imag;(2) 要求有一个带2个参数的构造函数,其参数分别对应复数实部和虚部;(3) 要求重载运算符“-”实现两个复数相减;(4) 要求用一个成员函数show实现输出复数,输出格式如“2+3i”;(5) 要求编写测试程序对设计的复数类进行功能测试; 参考程序:#include using namespace std;class Complexpublic:Complex(const double r = 0.0,const double i = 0.0) real = r; imag=i;void show() const /显示复数 coutreal+imagiendl;Complex operator - (const Complex &c) const/运算符-重载成员函数 return Complex(real-c.real,imag-c.imag);private:double real;double imag;int main() Complex c1,c2(3,5),c3; c1.show(); c2.show(); c3=c1-c2; c3.show(); return 0;4. (12分)定义一个三维点类Point,私有数据成员包含x、y、z三维坐标,并定义相应的成员函数,声明一个实例p1,其三维坐标为x=1、y=2、z=3,使用 I/O 流把p1 的坐标写入磁盘文件file1.dat,再声明另一个实例p2,通过读文件file1.dat把 p1 的坐标赋给p2。参考程序:#include #include using namespace std;class Pointpublic:Point(const double xv = 0.0,const double yv = 0.0,const double zv = 0.0) x=xv; y=yv; z=zv; void show() const cout(x,y,z)endl; double getX() return x; double getY() return y; double getZ() return z; void setPoint(double X,double Y,double Z) x=X; y=Y; z=Z; private:double x;double y;double z;int main() ofstream fd(file1.dat); if(!fd) coutfile1.dat打开失败; return 0; Point p1(1,2,3),p2; p1.show(); fdp1.getX() p1.getY() p1.getZ(); fd.close(); ifstream fs(file1.dat); if(!fs) coutxyz; p2.setPoint(x,y,z); p2.show(); return 0;5编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。函数模板声明如下:template Type Abs(Type tVar)#include using namespace std;template Type Abs(Type tVar)if (tVar = 0) return tVar;else return -tVar;int main()cout Abs(5) endl;cout Abs(-5) endl;cout Abs(2.5) endl;cout Abs(-2.5) endl;return 0;6定义一个复数类CComplex,定义带有2个参数(其中一个为缺省参数)的构造函数,显示复数值的函数Show(), 重载“+”运算符(用成员函数实现),并编写测试程序进行测试。#include using namespace std;class CComplexpublic:CComplex(double dReal, double dImage = 0)m_dReal = dReal;m_dImage = dImage;void Show()cout 0)cout + m_dImage i endl;else if(m_dImage 0)cout - -m_dImage i endl;CComplex operator+(const CComplex &obj)CComplex objTemp(m_dReal + obj.m_dReal, m_dImage +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62552-1:2015+AMD1:2020+AMD2:2025 CSV EN Household refrigerating appliances - Characteristics and test methods - Part 1: General requirements
- TCECS 1750-2024 铁路工程绿色设计评价标准
- GB 50351-2005 储罐区防火堤设计规范
- 校园新华书吧协议书
- 企业清退员工协议书
- 医疗废物管理协议书
- 公司暗股协议书样本
- 三方协议没劳动合同
- 校史馆设计合同范本
- 机械承包合同协议书
- 钢结构厂房加固施工方案
- 腹腔镜乙状结肠癌根治术护理查房
- 《大学美育基础》课程标准
- 产品价格管理体系(制度)完整版
- 毛泽东诗词试题及答案
- 物业公司安全生产标准化建设(完整版)资料
- GB/T 36073-2018数据管理能力成熟度评估模型
- 介入治疗指南与老年冠心病介入治疗
- 惠普云教室用户操作手册
- 大面积回填中粗砂工程施工方案
- 臭氧发生器操作维护保养SOP
评论
0/150
提交评论