c++谭浩强教学第5章修订

c++谭浩强教学第5章修订

ID:40522445

大小:846.50 KB

页数:62页

时间:2019-08-04

c++谭浩强教学第5章修订_第1页
c++谭浩强教学第5章修订_第2页
c++谭浩强教学第5章修订_第3页
c++谭浩强教学第5章修订_第4页
c++谭浩强教学第5章修订_第5页
资源描述:

《c++谭浩强教学第5章修订》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章继承与派生5.1继承与派生的概念(P150)一、为什么要使用继承通过继承的机制,可以利用已有的类来定义新的类,所定义的新类型拥有原来类型的属性,同时还拥有新的属性。继承的目的在于实现代码的重用。称已存在用来生成新的类型的类为基类,而由已存在类派生出来的新类为派生类。派生类继承了基类,即派生类中拥有基类中所有成员,并且派生类本身还拥有它自己的新成员。例如:已建有学生基本数据类StudentclassStudent{public:voiddisplay(){cout<<"num:"<

2、out<<"sex:"<

3、stringaddr;};二、单继承与多继承一个派生类只有一个直接基类的情况,称为单继承,一个派生类同时有多个基类的情况,称为多继承。62XYZABC单继承多继承5.2派生类的声明方式(P153)单继承派生类的一般定义格式class派生类名:继承方式基类名{//派生类新增的数据成员和成员函数}说明:(1)三种继承方式:公有继承:classStudent1:publicStudent{//….};私有继承:classStudent1:privateStudent{//….};62保护继承:classStudent1:protectedStudent{//….};

4、例如:classStudent1:publicStudent{public:voiddisplay1(){cout<<"age:"<

5、play1();继承新增数据成员1.派生类继承了基类的所有成员;2.增加新的成员;3.改变现有成员的属性和重新定义基类中已有的成员函数。625.4派生类成员的访问属性**基类成员在派生类中的访问属性三种不同的继承方式导致原来具有不同访问属性的基类的成员在派生类中具有不同的访问属性。在基类中的访问属性继承方式在派生类中的访问属性privatepublic不可直接访问privateprivate不可直接访问privateprotected不可直接访问publicpublicpublicpublicprivateprivatepublicprotectedprote

6、ctedprotectedpublicprotectedprotectedprivateprivateprotectedprotectedprotected从表中归纳出:(1)基类中的私有成员无论哪种继承方式,基类中的私有成员在派生类中都不可直接访问;(2)基类中的公用成员当类的继承方式为公用继承时,基类中的所有公用成员在派生类中仍以公用成员的身份出现;62当类的继承方式为私有继承时,基类中的所有公用成员在派生类中都是以私有成员的身份出现;当类的继承方式为保护继承时,基类中的所有公用成员在派生类中都是以保护成员的身份出现。(3)基类中的保护成员当类的继承方式为

7、公用继承时,基类中的所有保护成员在派生类中仍以保护成员的身份出现;当类的继承方式为私有继承时,基类中的所有保护成员在派生类中都是以私有成员的身份出现;当类的继承方式为保护继承时,基类中的所有保护成员在派生类中仍以保护成员的身份出现。5.4.1公用继承公有继承的特点是:基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,在派生类中是不可访问的。例5.1访问公有基类的成员#include#includeusingnamespacestd;classStudent{public:void

8、get_value(){cin>>nu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。