- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验11模板.doc
实验11 继承与派生
实验目的
了解继承在面向对象程序设计中的重要作用。
进一步理解继承与派生的概念。
掌握通过继承派生出一个新的类的方法。
了解虚基类的作用和用法。
实验内容
将例11.1的程序片段补充和改写成一个完整、正确的程序,用公有继承方式。在程序中应包括输入数据的函数,在程序运行时输入num、name、sex、age、addr的值,程序应输出以上5个数据。
源程序:
运行结果:
将例11.2的程序片段补充和改写成一个完整、正确的程序,用公有继承方式。在程序中应包括输入数据的函数,在程序运行时输入num、name、sex、age、addr的值,程序应输出以上5个数据。
源程序:
运行结果:
有一个点类point,包含横、纵两个坐标数据,由它派生出圆类circle,并添加一个半径数据,求其面积。数据的输入可以由成员函数实现,也可以由构造函数实现,不做限定。要求,本程序的运行结果:
圆心为:(5,7)
半径为:9
面积为:254.469
源程序:
运行结果:
4) 设计一个点类Point,这个类有x和y成员数据,setXY函数设置点的x,y值,getX函数得到x的值,getY函数得到Y的值。再定义一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点。可以输出4个坐标值和面积。使用测试程序验证程序。
提示:
#include iostream
using namespace std;
class Point
{
private:
int x,y;//私有成员变量坐标
public:
Point();//无参构造函数
Point(int a,int b);//有参
void setXY(int a,int b);
int getX();
int getY();
};
class Rectangle
{
private:
Point p1,p2,p3,p4;
public:
Rectangle();
Rectangle(Point one,Point two)
{
p1=one;
p4=two;
init();//调用函数
}
Rectangle(int x1,int y1,int x2,int y2)
{
p1.setXY(x1,y1);
p4.setXY(x2,y2);
init();//调用函数
}
void init()//给另外两个点做初始化函数
{
p2.setXY(p4.getX(),p1.getY());
p3.setXY(p1.getX(),p4.getY());
}
void printPoint()//打印四个点的函数
{
}
int getArea()//求面积
{
int height,width,area;
height= ;//根据4个点坐标值计算长宽值
width= ;
area= ;
if( area0)
return area;
else
return ;
}
};
int main()
{
Point p1(-15,56),p2(89,-10);
Rectangle r1(p1,p2);//用两个点做参数,声明一个矩形对象r1
Rectangle r2(1,5,5,1);//用两对 坐标点,声明一个矩形对象r2
//////输出两个对象的面积及4个顶点坐标。
return 0;
}
分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个派生出新类Teacheer_Cadre(教师兼干部)。要求:
(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher_Cadre类中还包含数据成员wages(工资)。
(3)最两个基类中的姓名、年龄、性别、地址、电话等数据成员用相通的名字,在引用这些数据成员时,指定作用域。
(4)在类体中声明成员函数,在类外定义成员函数。
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后在用cout语句输出职务与工资。
源程序:
运行结果:
文档评论(0)