C++邹金安第6章继承

C++邹金安第6章继承

ID:44194604

大小:209.00 KB

页数:20页

时间:2019-10-19

C++邹金安第6章继承_第1页
C++邹金安第6章继承_第2页
C++邹金安第6章继承_第3页
C++邹金安第6章继承_第4页
C++邹金安第6章继承_第5页
资源描述:

《C++邹金安第6章继承》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章继承Chapter6Inheritance学习目标1、理解继承的机制,能利用继承建立新类,进一步认识软件的重用性;2、理解多继承的工作原理,了解多继承要解决的问题;3、认识虚拟继承的实质,把握多继承的方法;4、能够简单地从多个基类中派生出新类。教学内容:1、继承与派生的概念2、派生类3、继承层次中对象间的赋值4、继承方式5、继承与组合6、多继承第6章继承Chapter6Inheritance6.1继承与派生的概念什么是继承?定义类B时,自动得到类A的操作和数据属性,使得程序员只需定义类A中所没有的新成分就可完成在类B的定义,这样我们称类B继承了类A,类A派生了类B,A是基类(父类),

2、B是派生类(子类)。这种机制称为继承。6.2派生类(1)对于下面的继承关系:classFather{inta,b;public://成员函数};classSon:publicFather{intc;public://成员函数};(1)派生类对象结构基类对象子类对象子类对象空间总是不小于基类对象cabab基类部分子类添加部分6.2派生类(2)(2)程序示例:#includeclassdemo{protected:intj;public:demo(){j=0;};voidadd(inti){j+=i;}voiddisplay(){cout<<“Currentvalueo

3、fjis”<

4、用基类的构造函数,然后再调用派生类的构造函数。在继承关系下有多个基类时,基类构造函数的调用顺序取决于定义派生类时基类的定义顺序。析构函数的调用顺序与构造函数调用顺序恰恰相反。调用拷贝构造函数与构造函数顺序一致。6.2派生类(4)4、继承中的覆盖(overlap)子类定义了与祖先类(父类,或者父类的父类...)名字相同的成员.子类对象访问成员函数,则首先匹配子类,然后父类,再父类的父类,依此类推.classStudent{ public:voiddisplay();//... }; classGraStudent:publicStudent{ public:voiddisplay();//o

5、verlap//... }; voidfn(){GraStudentgs;gs.display();//callGraStudent::display() }6.3继承层次中对象间的赋值1、派生类对象可以赋值给基类对象,反之不可;2、派生类指针值可以赋值给基类指针,反之不可;3、派生类指针不可以指向基类对象,而基类指针可以指向派生类对象。例如:Students;//假设Student类继承了Person类Personp=s;s=p;//error!Person&t=s;Student&r=p;//error!Person*p1=&s;Student*s1=&p;//error!6.4继承方

6、式(1)(1)继承的种类继承可以公有继承,保护继承和私有继承.公有继承是普通继承,基类可以为大多数应用服务.也可以重复继承保护继承是“单传”继承,只继承给自己的后代,应用是以子孙的公有成员函数来对外展开服务的.私有继承是“绝版”继承,该基类只被直接的子类继承,而不考虑让子类再被继承下去.6.4继承方式(2)(2)继承访问控制派生类继承了基类的全部数据成员和除构造函数、析构函数之外的全部成员函数,但是这些成员在派生类的访问属性根据继承方式的不同具有不同特征。访问属性继承方式publicprotectedprivatepublicpublicprotected隔离protectedprotec

7、tedprotected隔离privateprivateprivate隔离课堂练习请写出下列程序的运行结果:#includeclassVehicle//汽车类{protected:intnumWheels;//车轮数intrange;//汽车活动范围public:Vehicle(intw,intr):numWheels(w),range(r){cout<<"Vehicleconstructoris

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

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

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