欢迎来到天天文库
浏览记录
ID:42661514
大小:25.20 KB
页数:8页
时间:2019-09-19
《实验五 继承与多态性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、[标准实验报告]南昌航空大学实验报告2011年11月12日课程名称:面向对象程序设计B实验名称:继承与多态性班级:10202327姓名:吕潇同组人:指导教师评定:签名:一、实验目的根据现有类建立新类;学习构造基类和虚函数的用法。二、实验内容(本次实验要完成的内容)应用VC++6.0的编辑环境构造一个类Jhtx及其派生类,该类主要实现关于几何图形的基本操作。对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体
2、积操作。试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。CircleradiumsCircle()~Circle()BallBall()~Ball()GeometryGeometry()~Geometry()GetArea()GetPerimeter()Getcolume()show()ColumnColumn()~Column()RectangleRectangle()~Rectangle()三、概要设计(实现的功能,函数原型及说明等)对于基类“几何图形”,有求面积、求体积
3、的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。Geometry(doublec)基类构造函数初始化{r=c;}virtualvoidGetArea()=0;求面积的纯虚函数原型virtualvoidGetPeriMeter()=0;求周长的纯虚函数原型virtualvoidGetColume()=0;求体积的纯虚函数原型四、详细设计(程序中核心代码,
4、并要有相应注释——函数功能、参数说明、重要语句的注解)classGeometry{抽象基类public:Geometry(doublec){r=c;}//~Geometry();virtualvoidGetArea()=0;分别用于求面积周长virtualvoidGetPeriMeter()=0;体积的纯虚函数原型virtualvoidGetColume()=0;protected:doubler;};------------------------------------------------------
5、--------classRectangle:publicGeometry{public:矩形派生类virtualvoidGetColume(){}纯虚函数的重定义Rectangle(doublea,doubleb,doublec):Geometry(c){x=a;y=b;}构造函数初始化//~Rectangle();voidGetArea()求面积的纯虚函数{在派生类中的重定义cout<<"TheRectangle'sAreais";cout<6、虚函数重定义cout<<"TheRectangle'sPeriMeteris";cout<<2*(x+y)<7、ircle();virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheCircle'sAreais";cout<<3.14*r*r<8、cCircle{圆的派生类球的类public:Ball(doublec):Circle(c){}virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheBall'sSurfaceAreais";cout<<6*3.14*r*r<
6、虚函数重定义cout<<"TheRectangle'sPeriMeteris";cout<<2*(x+y)<7、ircle();virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheCircle'sAreais";cout<<3.14*r*r<8、cCircle{圆的派生类球的类public:Ball(doublec):Circle(c){}virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheBall'sSurfaceAreais";cout<<6*3.14*r*r<
7、ircle();virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheCircle'sAreais";cout<<3.14*r*r<8、cCircle{圆的派生类球的类public:Ball(doublec):Circle(c){}virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheBall'sSurfaceAreais";cout<<6*3.14*r*r<
8、cCircle{圆的派生类球的类public:Ball(doublec):Circle(c){}virtualvoidGetArea()求面积的纯虚函数的重定义{cout<<"TheBall'sSurfaceAreais";cout<<6*3.14*r*r<
此文档下载收益归作者所有