- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 继承与多态性
[标准实验报告] 南昌航空大学实验报告2011年11 月12日课程名称:面向对象程序设计B 实验名称:继承与多态性班级名:吕潇同组人:指导教师评定:签名:实验目的根据现有类建立新类;学习构造基类和虚函数的用法。二、实验内容(本次实验要完成的内容)应用VC++6.0的编辑环境构造一个类Jhtx及其派生类,该类主要实现关于几何图形的基本操作。对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。 试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。三、概要设计(实现的功能,函数原型及说明等)对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。 试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。Geometry(double c)基类构造函数初始化{r=c;} virtual void GetArea()=0;求面积的纯虚函数原型 virtual void GetPeriMeter()=0;求周长的纯虚函数原型virtual void GetColume()=0;求体积的纯虚函数原型四、详细设计(程序中核心代码,并要有相应注释——函数功能、参数说明、重要语句的注解)class Geometry{抽象基类public:Geometry(double c){r=c;} //~Geometry(); virtual void GetArea()=0;分别用于求面积周长 virtual void GetPeriMeter()=0;体积的纯虚函数原型virtual void GetColume()=0;protected:double r;};--------------------------------------------------------------classRectangle:public Geometry{public:矩形派生类virtual void GetColume() {}纯虚函数的重定义Rectangle(double a,doubleb,double c):Geometry(c) {x=a;y=b; }构造函数初始化 //~Rectangle(); void GetArea()求面积的纯虚函数 {在派生类中的重定义coutThe Rectangles Area is;coutx*yendl;}voidGetPeriMeter() {纯虚函数重定义coutThe Rectangles PeriMeter is;cout2*(x+y)endl;}protected:double x;double y;};-------------------------------------------------------------------class Circle:public Geometry{派生类圆的类public:virtual void GetColume() {} Circle(double c):Geometry(c)构造函数 {} //~Circle(); virtual void GetArea()求面积的纯虚函数的重定义 {coutThe Circles Area is;cout3.14*r*rendl; } virtual void GetPeriMeter()求周长的纯虚函数的重定义 {coutThe Circles PeriMeter is;cout2*3.14*rendl;}};------------------------------------------------------------class Ball:public Circle{圆的派生类球的类public:Ball(double c):Circle(c) { } virtual void GetArea()求面积的纯虚函数的重定义 {coutThe Balls Surface Area is;cout6*3.14*r*rendl; } virtual void GetColume()求体积的纯虚函数的重定义 {coutThe Balls Volume is;cout(4/3)*3.14*r*r*r
文档评论(0)