欢迎来到天天文库
浏览记录
ID:47026404
大小:163.50 KB
页数:28页
时间:2019-06-29
《c++派生类与继承实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Word格式实验2派生类与继承实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:2.1实验目的和要求(1)掌握派生类的声明方法和派生类构造函数的定义方法。(2)掌握不同继承方式下,基类成员在派生类中的访问属性。(3)掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。(4)学习虚基类在解决二义性问题中的作用。 完美整理Word格式二、实验内容一、构造一个类Geometry及其派生类,该类主要实现关于几何图形的基本操作。对于基类“几何图形”,有求面积、求体积的函数(纯虚函
2、数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。CircleradiumsCircle()~Circle()BallBall()~Ball()GeometryGeometry()~Geometry()GetArea()GetPerimeter()Getcolume()show()ColumnColumn()~Column()RectangleRectangle()~Rec
3、tangle()实验代码如下:#includeusingnamespacestd;classGeometry{public:Geometry(){}完美整理Word格式~Geometry(){}doubleGetArea(){}//求面积函数doubleGetPerimeter(){}//求体积函数doubleGetcolume(){}//求周长函数virtualshow(){}};classCircle:publicGeometry{public:Circle(doublei){radiums
4、=i;}~Circle(){}doubleGetArea();doubleGetcolume();doubleR(){returnradiums;}show();private:完美整理Word格式doubleradiums;};doubleCircle::GetArea(){doubleS;S=3.14*radiums*radiums;returnS;}doubleCircle::Getcolume(){doubleL;L=2*3.14*radiums;returnL;}Circle::show(){cout<<
5、"圆的面积为:"<6、leRectangle::GetArea(){doubleS;S=length*wide;returnS;}doubleRectangle::Getcolume(){doubleL;完美整理Word格式L=2*(length+wide);returnL;}Rectangle::show(){cout<<"矩形的面积为:"<7、;~Ball(){};doubleGetArea();doubleGetPerimeter();show();};doubleBall::GetArea(){doubleS;S=4*3.14*R()*R();returnS;完美整理Word格式};doubleBall::GetPerimeter(){doubleV;V=(4/3)*3.14*R()*R()*R();returnV;}Ball::show(){cout<<"球的体积为:"<8、<
6、leRectangle::GetArea(){doubleS;S=length*wide;returnS;}doubleRectangle::Getcolume(){doubleL;完美整理Word格式L=2*(length+wide);returnL;}Rectangle::show(){cout<<"矩形的面积为:"<7、;~Ball(){};doubleGetArea();doubleGetPerimeter();show();};doubleBall::GetArea(){doubleS;S=4*3.14*R()*R();returnS;完美整理Word格式};doubleBall::GetPerimeter(){doubleV;V=(4/3)*3.14*R()*R()*R();returnV;}Ball::show(){cout<<"球的体积为:"<8、<
7、;~Ball(){};doubleGetArea();doubleGetPerimeter();show();};doubleBall::GetArea(){doubleS;S=4*3.14*R()*R();returnS;完美整理Word格式};doubleBall::GetPerimeter(){doubleV;V=(4/3)*3.14*R()*R()*R();returnV;}Ball::show(){cout<<"球的体积为:"<8、<
8、<
此文档下载收益归作者所有