- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验八继承与派生虚函数
实验八 派生与继承-虚函数
一、实验目的
1、学习定义和使用类的继承关系,定义派生类。
2、熟悉不同继承方式下对基类成员的访问控制。
3、学习利用虚基类解决二义性问题。
4、学习使用虚函数实现动态多态性。
二、实验任务
1、定义一个shape类如下,
//shape.h
#ifndef SHAPE
#define SHAPE
#include iostream
using namespace std;
const double PI=3.14159;
class shape
{
virtual double area()=0;
virtual double circumference()=0; //周长
};
#endif//rectangle.h 矩形类
#ifndef RECTANGLE
#define RECTANGLE
#include shape.h
class rectangle:public shape//矩形
{
private:
double length;
double width;
public:
rectangle(double leng,double wid);
double area();
virtual double get_length();
virtual double get_width();
double circumference();//周长
void display();
};
#endif
//circle.h 圆类
#ifndef CIRCLE
#define CIRCLE
#include shape.h
class circle:public shape//圆形
{
private:
double radius;
public:
circle(double r);
double area();
virtual double get_radius();
double circumference();//周长
void display();
};
#endif
//cylinder.h 圆柱体类
#ifndef CYLINDER
#define CYLINDER
#include circle.h
class cylinder:public circle//圆柱体
{
private:
double height;
public:
cylinder(double r,double hei);
double get_height();
double volume();
double facearea();
void display();
};
#endif
//cuboid.h 长方体类
#ifndef CUBOID
#define CUBOID
#include rectangle.h
class cuboid:public rectangle//长方体
{
private:
double height;
public:
cuboid(double leng,double wid,double hei);
double volume();
double facearea();
virtual double get_height();
void display();
};
#endif
////main
#include iostream
#include shape.h
#include circle.h
#include rectangle.h
#include cylinder.h
#include cuboid.h
using namespace std;
int main()
{
cuboid cu1(2,3,4);
cu1.display ();
cout当前对象的表面积:cu1.facearea ()endl;
cout当前对象的体积:cu1.volume ()endl;
cylinder cy1(2,3);
cy1.display ();
cout当前对象的表面积:cy1.facearea ()endl;
cout当前对象的体积:cy1.volume ()endl;
return 0;
}
您可能关注的文档
最近下载
- 国开《小学数学教学研究》形考任务4题库及答案.pdf VIP
- 五年级上册《生命生态安全》全册教案.docx VIP
- DB36_T 1085-2025 电动自行车停放充电场所消防安全规范.docx VIP
- 一体化净水器操作说明.doc VIP
- 年产3.3万吨硝酸生产工艺设计毕业设计论文.doc VIP
- 高支模(超高)监理实施细则 .pdf VIP
- 2025年csco结直肠癌诊疗指南.docx
- 环境工程专业-大学生职业生涯规划书.doc VIP
- 人教版(2024版)七年级英语下册 Unit 4 Eat Well 单元测试卷(含听力音频和答案).docx VIP
- 绝对收益新思考:挖掘市场信号与风险偏好的关联.pdf VIP
原创力文档


文档评论(0)