1 / 242
文档名称:

[strousrup] C 程序设计语言(习题答案).pdf

格式:pdf   页数:242
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

[strousrup] C 程序设计语言(习题答案).pdf

上传人:翩仙妙玉 2012/7/17 文件大小:0 KB

下载得到文件列表

[strousrup] C 程序设计语言(习题答案).pdf

文档介绍

文档介绍:第13章继承和派生
通过继承已有类的部分或全部成员,创建新类的过程称为派生。
继承既简化程序设计,显著提高软件的重用性,又使软件维护更容易。
继承
初始化基类成员
冲突、支配规则和赋值兼容性
虚基类
虚函数
作业:6,8,10,11
继承
在定义类A时,若使用了已有类B,则称类A继承了类B,并称类B为基类或父类,称类A为派生类或子类。
一个派生类又可作为另一个类的基类,一个基类可派生出若干个派生类,这样就构成类树或类族。
继承分为
单一继承:一个派生类仅有一个基类;
多重继承:一个派生类有两个或两个以上的基类。
举例:见图13-1,图中的箭头是从派生类指向基类。
在校人员类:描述在校人员的共性信息(如姓名、年龄、身高和性别等)。
学生类:单一继承“在校人员类”,并增加描述学生的个性信息(如学号、所学专业和课程等)。
职工类:单一继承“在校人员类”,并增加描述职工的个性信息(如工资、工作部门、职工号、所教课程等)。
在职研究生类:多重继承“学生类”和“职工类”。
类族:在校人员类、学生类、职工类、在职研究生类。
单一继承
格式:
class ClassName:<Access> BaseClassName
{
…//派生类中新增成员,可为空
};
规定基类成员在派生类中的访问权限,取public、private和protected三者之一或缺省。
ess为public时,为公有派生;ess为private时,为私有派生;ess为protected时,为保护派生。
Access缺省时,类为private;结构体为public。






已定义的类名
公有派生
基类成员在公有派生类中保持原有访问权限。
基类的public成员,在派生类中仍为public成员。
基类的private成员,在派生类中仍为private成员。注意,派生类不能直接使用基类中的私有成员。
基类的protected成员,在派生类中仍为protected成员,在派生类中可直接访问,但在派生类外,不可直接访问。
公有派生。
#include<>
class A
{ int x;
protected:
int y;
public:
int z;
A(int a,int b,int c){ x=a;y=b;z=c; }
void Setx(int a){ x=a; }
void Sety(int a){ y=a; }
int Getx( ){ return x; }
int Gety( ){ return y; }
void ShowB( )
{cout<<"x="<<x<<"\ty="<<y<<"\tz="<<z<<'\n';}
};
class B:public A //公有继承基类A,派生类B
{ int Length,Width;
public:
B(int a,int b,int c,int d,int e): A(a,b,c)
{ Length=d;Width=e; }
在派生类的构造函数中,初始化基类的成员数据:用成员初始化列表调用基类的构造函数,。
void Show( )
{ cout<<"Length="<<Length<<"\tWidth="<<Width<<'\n';
cout<<"x="<<Getx( )<<"\ty="<<y<<"\tz="<<z<<'\n';
}
int Sum( ){ return Getx( )+y+z+Length+Width; }
};
 
void main(void)
{ B b1(1,2,3,4,5);
( );
( );
cout<<"Sum="<<( );
cout<<"\ny="<<( );
cout<<"\tz="<<<<'\n';
}
在派生类B内:直接使用基类中的保护成员y和公有成员z;但不能直接使用基类的私有成员x,例如,若将Getx( )改为x,则会出现编译错误。
在派生类B外:派生类B的对象b1直接使用基类的公有成员函数ShowB( )、Gety( )和基类的公有成员数据z。
问:?
私有派生
基类中公有成员和保护成员在私有派生类中均变为私有的,在派生类中仍可直接访问,但在派生类之外均不可直接访问。
基类中的私有成员在私有派生类中不可直接访问,当然在派生类之外,更不直接访问。
私有派生。
#lnclude<>
 
class A
{ int x;
protected

最近更新

优惠利率方案建议书 6页

优化营运资金成本策略建议书 6页

企业金融治理提升建议书 5页

企业发展软件战略建议书 7页

京内交通改善建议书 6页

事业部改革创新建议书 5页

中心车辆巡察重点意见建议书 6页

两新组织党建创新建议书 5页

不规范街头用字规范化建议书 5页

高质量作业完成建议书 5页

高效语文作文建议书 6页

高效节约用水用电建议书 5页

高效校园用纸建议书 4页

高中生活建议书 6页

驴产业规模化养殖方案建议书 6页

食堂改造升级建议书 5页

领导层优化建议书 5页

异位妊娠的护理经济负担分析 36页

2024年海南警察学院马克思主义基本原理概论期.. 12页

2024年清流县招教考试备考题库及答案解析(必.. 30页

2024年湖南理工学院南湖学院马克思主义基本原.. 13页

2024年烟台理工学院马克思主义基本原理概论期.. 12页

2024年甘洛县幼儿园教师招教考试备考题库带答.. 30页

2024年盐津县幼儿园教师招教考试备考题库带答.. 31页

2024年苏州托普信息职业技术学院马克思主义基.. 12页

2024年西南政法大学马克思主义基本原理概论期.. 13页

2024年许昌陶瓷职业学院马克思主义基本原理概.. 13页

2024年贺州学院马克思主义基本原理概论期末考.. 12页

2024年辽宁石油化工大学马克思主义基本原理概.. 12页

2024年郑州黄河护理职业学院马克思主义基本原.. 13页