版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 / 15下载文档可编辑第六章课后习题答案(第二版谭浩强)1:/xt6-1/cpp#include /如 用vc+应 改 为 #include using namespace std; /如用 vc+ 应取消此行#include cylinder.h#include point.cpp#include circle.cpp#include cylinder.cppint main()cylinder cy1(3.5,6.4,5.2,10); coutnoriginal cylinder:nx=cy1.getx(), y=cy1.gety(), r=cy1.getradius(), h=cy1
2、.getheight()narea=cy1.area(), volume=cy1.volume()endl;精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 15 页 - - - - - - - - -2 / 15下载文档可编辑 cy1.setheight(15); cy1.setradius(7.5); cy1.setpoint(5,5); coutnnew cylinder:ncy1; po
3、int &pref=cy1; coutnpref as a point:pref; circle &cref=cy1; coutncref as a circle:cref; return 0;3: 解法一#include using namespace std;class pointpublic: point(float a,float b):x(a),y(b) point()coutexecuting point destructorendl;精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 15 页 - - - - -
4、 - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 15 页 - - - - - - - - -3 / 15下载文档可编辑 private: float x; float y;class circle:public pointpublic: circle(float a,float b,float r):point(a,b),radius(r) circle()coutexecuting circle destructorendl; private: float radius;int main()point *p=new ci
5、rcle(2.5,1.8,4.5); delete p; return 0;3:解法二精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 15 页 - - - - - - - - -4 / 15下载文档可编辑#include using namespace std;class pointpublic: point(float a,float b):x(a),y(b) point()coutexec
6、uting point destructorendl; private: float x; float y;class circle:public pointpublic:circle(int a,int b,int r):point(a,b),radius(r) circle()coutexecuting circle destructorendl; private: float radius;精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - -
7、- - - - - - - - - 第 4 页,共 15 页 - - - - - - - - -5 / 15下载文档可编辑int main()point *p=new circle(2.5,1.8,4.5); circle *pt=new circle(2.5,1.8,4.5); delete pt; return 0;3:解法三#include using namespace std;class pointpublic: point(float a,float b):x(a),y(b) virtual point()coutexecuting point destructorendl; pr
8、ivate: float x; float y;精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 15 页 - - - - - - - - -6 / 15下载文档可编辑;class circle:public pointpublic:circle(float a,float b,float r):point(a,b),radius(r) virtual circle()coutexecuting
9、 circle destructorendl; private:float radius;void main()point *p=new circle(2.5,1.8,4.5); delete p;4:#include using namespace std;/ 定义抽象基类 shape精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 15 页 - - - - - - - - -7 / 15下载
10、文档可编辑class shapepublic: virtual double area() const =0; /纯虚函数;/ 定义 circle类class circle:public shapepublic:circle(double r):radius(r) / 结构函数 virtual double area() const return 3.14159*radius*radius; / 定义虚函数 protected: double radius; / 半径;/ 定义 rectangle 类class rectangle:public shape精品学习资料 可选择p d f - -
11、 - - - - - - - - - - - - 第 7 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 15 页 - - - - - - - - -8 / 15下载文档可编辑public: rectangle(double w,double h):width(w),height(h) / 结构函数 virtual double area() const return width*height; / 定义虚函数protected: double width,height; / 宽与高;c
12、lass triangle:public shapepublic: triangle(double w,double h):width(w),height(h) / 结构函数 virtual double area() const return 0.5*width*height; / 定义虚函数 protected: double width,height; / 宽与高精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - -
13、- - 第 8 页,共 15 页 - - - - - - - - -9 / 15下载文档可编辑;/ 输出面积的函数void printarea(const shape &s)couts.area()endl; / 输出 s 的面积int main() circle circle(12.6); / 建立 circle类对象 circle coutarea of circle =; printarea(circle); / 输出 circle的面积 rectangle rectangle(4.5,8.4); / 建立 rectangle 类对象 rectangle coutarea of
14、rectangle =; printarea(rectangle); / 输出 rectangle的面积 triangle triangle(4.5,8.4); /建立 triangle类对象精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 9 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 9 页,共 15 页 - - - - - - - - -10 / 15下载文档可编辑 coutarea of triangle =; printarea(triangl
15、e); /输出 triangle的面积 return 0;5:#include using namespace std;/ 定义抽象基类 shapeclass shapepublic: virtual double area() const =0; / 纯虚函数;/ 定义 circle(圆形)类class circle:public shapepublic:circle(double r):radius(r) 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 10 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f -
16、- - - - - - - - - - - - - 第 10 页,共 15 页 - - - - - - - - -11 / 15下载文档可编辑/ 结构函数 virtual double area() const return 3.14159*radius*radius; / 定义虚函数 protected: double radius; / 半径;/ 定义 square( 正方形) 类class square:public shapepublic: square(double s):side(s) / 结构函数 virtual double area() const return side*s
17、ide; / 定义虚函数 protected: double side;/ 定义 rectangle( 矩形)类精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 11 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 11 页,共 15 页 - - - - - - - - -12 / 15下载文档可编辑class rectangle:public shapepublic: rectangle(double w,double h):width(w),height
18、(h) / 结构函数 virtual double area() const return width*height; / 定义虚函数 protected: double width,height; / 宽与高;/ 定义 trapezoid( 梯形)类class trapezoid:public shapepublic: trapezoid(double t,double b,double h):top(t),bottom(t),height(h) /结构函数 virtual double area() const return 0.5*(top+bottom)*height; /定义虚函数
19、protected:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 12 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 12 页,共 15 页 - - - - - - - - -13 / 15下载文档可编辑 double top,bottom,height; / 上底、下底与高;/ 定义 triangle(三角形 ) 类class triangle:public shapepublic: triangle(double w,double h):width
20、(w),height(h) / 结构函数 virtual double area()const return 0.5*width*height; / 定义虚函数 protected: double width,height; / 宽与高;int main() circle circle(12.6); / 建立 circle类对象 circle精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 13 页,共 15 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 13 页,共 15 页 - - - - - - - - -14 / 15下载文档可编辑 square square(3.5); / 建立 square 类对象 square rectangle rectangle(4.5,8.4); / 建立 rectangle 类对象 rectangle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场营销策略执行监测方案
- 数据中心技术支持合同履行提醒函(5篇)
- 2026中国新能源汽车充电设施市场分析研究
- 2026中国智能垃圾桶行业市场发展现状及投资规划研究报告
- 2026全球化跨境电商行业基础配套设施供需问题及投资发展评估规划研究
- 2026人工智能和计算机视觉市场现状供求分析及投资评估规划发展分析研究报告
- 2026中国小型工程机械市场需求变化与产品开发方向报告
- 2026中国智能电致变色玻璃建筑能耗动态调控与智慧城市管理系统集成
- 2026中国通信设备光纤行业市场现状供需分析及投资评估规划分析研究报告
- 2026中国消费电子行业创新趋势与市场需求预测及竞争格局研究报告
- 2026年浙江省综合性评标专家库评标专家考试在线题库
- 2025-2026学年四年级数学下学期期末真题重组试题01(山东专用 青岛版五四制) 含答案
- 2026年国企招聘副总测试题及答案
- 2026年留疆战士考核综合应试能力提升练习题含答案
- 重庆市2026年普通高等学校招生全国统一考试 生物+答案
- 2026年及未来5年市场数据中国城市客运行业市场调研分析及投资前景预测报告
- STEMI诊疗新指南课件
- 护理课题申报的流程与要点
- 2025四川九洲君合私募基金管理有限公司招聘高级风控经理等岗位3人笔试历年典型考点题库附带答案详解2套试卷
- 急诊科加强培训核心制度
- 人体工程学管理制度(3篇)
评论
0/150
提交评论