C++培训之继承

C++培训之继承

ID:43185862

大小:258.50 KB

页数:30页

时间:2019-10-01

C++培训之继承_第1页
C++培训之继承_第2页
C++培训之继承_第3页
C++培训之继承_第4页
C++培训之继承_第5页
资源描述:

《C++培训之继承》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、继承第八章回顾友元函数友元类操作符重载2目标继承访问控制继承中的构造函数和析构函数函数覆盖3继承继承是允许重用现有类来构造新类的特性基类方法和属性派生类基类方法+附加方法4优点代码的可重用性-类库重定义基类的成员函数向派生类添加新成员不需要了解核心技术的细节5单一继承2-1将类之间的相似性质联系起来单一继承是从现有基类创建新类的过程6单一继承2-2处理某企业中雇员的程序EmployeeManager基类派生类派生自使用一个箭头从派生类指向基类表示派生类引用基类的函数和数据,而基类没有访问派生类的权限7基类和派生类派生类的声明必须指定基类的名称classManager:pub

2、licEmployee任何类都能用作基类基类分为两种类型直接基类间接基类8直接基类和间接基类直接基类classA{};classB:publicA//A是B的直接基类{};间接基类classA{};classB:publicA{};classC:publicB//A是C的间接基类{};9继承的类型继承多级继承单一继承多重继承层次继承10单一继承ABclassA{…}; classB:publicA{…};11多级继承ABCclassA {…}; classB:publicA {…}; classC:publicB{…};12层次继承ABCDEclassA {…}; clas

3、sB:publicA {…}; classC:publicA {…};classD:publicC{…};classE:publicC{…};13多重继承classA {…}; classB {…}; classC:publicA,publicB{…};ABC14访问控制3-1派生类的函数能够访问基类的保护和公有成员派生类的对象公有派生的类的对象能够访问基类的公有成员私有和保护派生的类的对象不能访问基类的任何成员15访问控制3-2基类成员公有继承私有继承保护继承公有公有私有保护保护保护私有保护私有不被继承不被继承不被继承16访问控制3-3派生类不能访问基类的私有成员公有继承

4、不改变基类成员的访问级别基类的另外两种访问级别使得所有继承的成员与基类成员(私有基类的私有成员或保护基类的保护成员)属于相同的访问级别17可访问性基类的成员函数或数据何时能够被派生类的对象使用无论类成员是私有、公有还是保护,它们总是能够由自身的成员函数访问在类的外部定义的对象只能访问类的公有成员18访问基类成员在继承中,如果基类的成员是公有,那么派生类成员能够访问基类的成员派生类成员不能访问基类的私有成员19protected访问控制说明符保护部分类似于私有部分只能被其所属类的成员访问不能被类外部的对象或函数访问区别只有在派生类中才会表现出来20基类成员的访问规则访问控制说

5、明符从自身类访问从派生类访问从类外访问public可以可以可以protected可以可以不可以private可以不可以不可以21访问控制说明符的规则类成员总是能够被它们自己的类的方法访问继承类能访问基类的公有或保护成员公有成员可以在任何地方被访问22继承中的构造函数3-1先调用基类的构造函数,然后调用派生类的构造函数classBase{protected:inta;public:Base(){a=0;}//默认构造函数Base(intc){a=c;}//单参数构造函数};classDerived:publicBase{public:Derived():Base(){}//默

6、认构造函数Derived(intc):Base(c){}//单参数构造函数};23继承中的构造函数3-2当声明派生类的对象时,Derivedobj;它将会首先调用基类的构造函数,然后调用派生类的构造函数基类构造函数是在派生类构造函数之后指定的,使用冒号分隔Derived():Base(){}24继承中的构造函数3-3在派生类的构造函数调用中显式选择基类的构造函数Derivedobj1(20);调用基类中的相应构造函数Derived(intc):Base(c);25继承中的析构函数调用顺序与构造函数的调用顺序相反首先调用派生类的析构函数,然后调用基类的析构函数只有派生类的构造

7、函数通过动态内存管理分配了内存空间时才需要定义析构函数如果派生类的构造函数没有动态内存分配,那么派生类的析构函数可以是一个空函数26调用成员函数2-1派生类的成员函数可以和基类中的成员函数同名用基类的对象调用函数时,将调用基类的函数使用派生类的对象时,将调用派生类的函数派生类的成员函数要调用基类的同名函数,必须使用作用域解析操作符27调用成员函数2-2classBase{protected:intss;public:Base(){};Base(inta){ss=a;}intfunc(){returnss;}};cl

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

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

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