版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章课后习题答案(第二版谭浩强)1:/xt6-1/cpp#include<iostream>/如用VC+应改为:#include<iosttram.h>usingnamespacestd;/如用VC+5取消此行#include"cylinder.h"#include"point.cpp"#include"circle.cpp"#include"cylinder.cpp"intmain()Cylindercy1(3.5,6.4,5.2,10);cout<<"norigi
2、nalcylinder:nx="<<cy1.getX()<<",y="<<cy1.getY()<<",r="<<cy1.getRadius()<<",h="<<cy1.getHeight()<<"narea="<<cy1.area()<<",volume="<<cy1.volume()<<endl;cy1.setHeight(15);cy1.s
3、etRadius(7.5);cy1.setPoint(5,5);cout<<"nnewcylinder:n"<<cy1;Point&pRef=cy1;cout<<"npRefasapoint:"<<pRef;Circle&cRef=cy1;cout<<"ncRefasaCircle:"<<cRef;return0;3:解法一#include<iostream>usingnamespacestd;classPointpublic:Poin
4、t(floata,floatb):x(a),y(b)Point()cout<<"executingPointdestructor"<<endl;private:floatx;floaty;classCircle:publicPointpublic:Circle(floata,floatb,floatr):Point(a,b),radius(r)Circle()cout<<"executingCircledestructor"<<endl;private:floatradius;intmain()Point*
5、p=newCircle(2.5,1.8,4.5);deletep;return0;3:解法二#include<iostream>usingnamespacestd;classPointpublic:Point(floata,floatb):x(a),y(b)Point()cout<<"executingPointdestructor"<<endl;private:floatx;floaty;classCircle:publicPointpublic:Circle(inta,intb,intr):Point(a,b),radius(r)Ci
6、rcle()cout<<"executingCircledestructor"<<endl;private:floatradius;intmain()Point*p=newCircle(2.5,1.8,4.5);Circle*pt=newCircle(2.5,1.8,4.5);deletept;return0;3:解法三#include<iostream>usingnamespacestd;classPointpublic:Point(floata,floatb):x(a),y(b)virtualPoint()cout<<&q
7、uot;executingPointdestructor"<<endl;private:floatx;floaty;classCircle:publicPointpublic:Circle(floata,floatb,floatr):Point(a,b),radius(r)destructor"<<endl;virtualCircle()cout<<"executingCircleprivate:floatradius;voidmain()Point*p=newCircle(2.5,1.8,4.5);deletep;4:#inc
8、lude<iostream>usingnamespacestd;/定义抽象基类ShapeclassShapepublic:virtualdoublearea()const=0;/纯虚函数;/定义Circle类classCircle:publicShapepublic:Circle(doubler):radius(r)/结构函数virtualdoublearea()constreturn3.14159*radius*radius;/定义虚函数protected:doubleradius;/半径;/定义Rectangle类classRectangle:publicShapepublic
9、:Rectangle(doublew,doubleh):width(w),height(h)/结构函数virtualdoublearea()constreturnwidth*height;/定义虚函数protected:doublewidth,height;/宽与高;classTriangle:publicShapepublic:Triangle(doublew,doubleh):width(w),height(h)/结构函数virtualdoublearea()constreturn0.5*width*height;/定义虚函数protected:doublewidth,height;/宽与
10、高;/输出面积的函数voidprintArea(constShape&s)cout<<s.area()<<endl;/输出s的面积intmain()Circlecircle(12.6);/建立Circle类对象circlecout<<"areaofcircle="printArea(circle);/输出circle的面积Rectanglerectangle(4.5,8.4);/建立Rectangle类对象rectanglecout<<"areaofrectangle="printArea(rect
11、angle);/输出rectangle的面积Triangletriangle(4.5,8.4);/建立Triangle类对象cout<<"areaoftriangle="printArea(triangle);/输出 triangle 的面积return0;5:#include<iostream>usingnamespacestd;/定义抽象基类ShapeclassShapepublic:virtualdoublearea()const=0;/纯虚函数;/定义Circle(圆形)类classCircle:publicShaper):radius(r)
12、public:Circle(double/结构函数virtualdoublearea()constreturn3.14159*radius*radius;/定义虚函数protected:doubleradius;/半径;/定义Square(正方形)类classSquare:publicShapepublic:Square(doubles):side(s)/结构函数virtualdoublearea()constreturnside*side;/定义虚函数protected:doubleside;/定义Rectangle(矩形)类classRectangle:publicShapepublic:
13、Rectangle(double/结构函数w,doubleh):width(w),height(h)virtualdoublearea()constreturnwidth*height;/定义虚函数protected:double/宽与高;/定义Trapezoid(梯形)类classTrapezoid:publicShapepublic:Trapezoid(doubleh):top(t),bottom(t),height(h)/t,double结构函数width,height;b,doublevirtualdouble0.5*(top+bottom)*height;/area()const定义
14、虚函数returnprotected:doubletop,bottom,height;/上底、下底与高;/定义Triangle(三角形)类classTriangle:publicShapepublic:Triangle(doublew,doubleh):width(w),height(h)/结构函数virtualdoublearea()constreturn0.5*width*height;/定义虚函数protected:doublewidth,height;/宽与高;intmain()Circlecircle(12.6);/建立Circle类对象circleSquare/建立Square类对象squaresquare(3.5);Rectanglerectangle(4.5,8.4);/建立Rectangle类对象rectangleTrapezoidtrapezoid(2.0,4.5,3.2);/建立Trapezoid类对象trapezoidTriangletriangle(4.5,8.4);/建立Triangle类对象Shape*pt5=&circle,&square,&rectangle,&trapezoid,&t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年鱼池承包权转让协议
- 2024年度啤酒节主会场租赁协议详案
- 2024年专属会员资格转让协议
- 2024暑假期间实习生聘用协议样例
- 2024年销售协议模板及管理规定
- 2024年建筑幕墙施工协议模板
- 2024年度工程前期技术勘察协议范本
- 齐齐哈尔大学《计算机控制技术》2022-2023学年期末试卷
- 上海加盟合同范本
- 房贷协议:2024年限定房产买卖专用
- 句容辅警考试题库
- GRR测量系统分析报告范例
- 第三单元单元研习任务 教学设计 统编版高中语文选择性必修中册
- “学、练、赛、评一体化”教学模式下学生核心素养培育模式探究
- 彩色多普勒超声诊断仪投标方案(技术标)
- 集团25周年庆典活动创意思路案
- 营养与健康学校建设方案
- 被执行人财产线索表
- (6.6)-第一章 领悟人生真谛 把握人生方向
- 初中物理第二章 声现象作业设计初中物理第二章 声现象作业设计
- 国网基建各专业考试题库大全-技术专业(考题汇总)
评论
0/150
提交评论