- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1
第11章 继承和派生
11.1继承与派生的概念
图11.1 图11.2
本书中的约定,箭头表示继承的方向,从派生类指向基类。
图11.3
图11.4
图11.5
11.2派生类的声明方式
class Student
{public:
void get_value(){cinnumnamesex;}
void display( )
{ coutnum: numendl;
coutname: nameendl;
coutsex: sexendl;
}
private :
int num;
string name;
char sex;
};
class Student1: public Student
{public:
void get_value_1(){cinageaddr;}
void display_1()
{ coutage:ageendl;
coutaddress: addrendl;
}
private:
int age;
string addr;
};
继承方式有:public(公有),private(私有),protected(保护)
11.3派生类的构成
图11.6
11.4派生类成员的访问属性
11.4.1公用继承
例11.1公有继承实例。
#include iostream
#include string
using namespace std;
class Student
{public:
void get_value(){cinnumnamesex;}
void display( )
{ coutnum: numendl;
coutname: nameendl;
coutsex: sexendl;
}
protected :
int num;
string name;
char sex;
};
class Student1: public Student
{public:
void get_value_1(){cinageaddr;}
void display_1()
{ //coutnum: numendl;
//企图引用基类的私有成员,错误
//coutname: nameendl;
//企图引用基类的私有成员,错误
//coutsex: sexendl;
//企图引用基类的私有成员,错误
coutage: ageendl;
//引用派生类的私有成员,正确
coutaddress: addrendl;}
//引用派生类的私有成员,正确
private:
int age;
string addr;
};
int main()
{
Student1 stud1;
stud1.get_value();
stud1.get_value_1();
stud1.display();
stud1.display_1();
return 0;
}
1001 huang F 18 Beijing
num: 1001
name: huang
sex: F
age: 18
address: Beijing
#includeiostream.h
class Location
{
private:
int X,Y;
public:
int GetX(){return X;}
int GetY(){return Y;}
int Z;
protected:
int P;
};
class Rectangle:public Location
{
private:
int Height,Width;
public:
// int GetHH(){X=5;return Height;}
//在公有派生中基类的私有成员在派生类中是不可访问的
int GetH(){coutGetX()endl;Z=88;return Height;}
//在公有派生中基类的公有成员在派生类中还是公有成员
int GetW(){P=55;return Width;}
//在公有派生中基类的保护成员在派生类中还是保护成员
};
class test:public Rectangle
{
void fun2(){P=89;}//P在test类中是可访问的
void fun1(){Z=66;}//Z在test类中是可访问的
};
voi
您可能关注的文档
最近下载
- 医师访谈记录.pdf VIP
- Unit 4 School Life 第3-4课时Reading and Rriting 课件 中职高一学年英语高教版基础模块1.ppt
- 最新中药饮片质量标准通则(试行).doc VIP
- 医学临床三基(输血学)-输血免疫学基础(精选试题).pptx VIP
- 我们的大脑的教学课件.ppt VIP
- 洞察世间智慧:哲学伴随我成长课件.ppt VIP
- 超星网课《汽车之旅》超星尔雅答案2023章节测验答案.doc VIP
- 老年人继承法培训课件.pptx VIP
- 科学湘科版二年级上册全册课件.pptx
- 第7课全球航路的开辟和欧洲早期殖民扩张【中职专用】《世界历史》(高教版2023基础模块).pptx VIP
文档评论(0)