钱能C+程序设计教程

钱能C+程序设计教程

ID:38486319

大小:287.86 KB

页数:19页

时间:2019-06-13

钱能C+程序设计教程_第1页
钱能C+程序设计教程_第2页
钱能C+程序设计教程_第3页
钱能C+程序设计教程_第4页
钱能C+程序设计教程_第5页
资源描述:

《钱能C+程序设计教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计教程(第二版)第十章继承Chapter10Inheritance清华大学出版社钱能9/7/20211第十章内容继承结构(InheritanceStructure)访问父类成员(AccessFather’sMember)派生类的构造(ConstructingDerivedClasses)继承方式(InheritanceMode)继承与组合(Inheritance&Composition)多继承概念(Multi-InheritanceConcept)多继承技术(Multi-InheritanceTechnology)9/7/202121.继承结构(Inhe

2、ritanceStructure)宇宙万事万物都是分类分层的,解决问题可以从事物之间的上下关系中着手.这是继承引入程序设计的前提.例如:已知鸟的属性,鸭子是什么的描述便可以在鸟的基础上进行:除了是鸟之外,还会一种区别于其他鸟的特殊的嘎嘎叫.因为鸭子不会飞,于是就在继承鸟的属性中去掉会飞的属性.9/7/20213派生类对象结构对于下面的继承关系:classFather{inta,b;public://成员函数};classSon:publicFather{intc;public://成员函数};基类对象子类对象子类对象空间总是不小于基类对象cabab基类部分子类添加部

3、分9/7/202142.访问父类成员(AccessFather’sMember)捆绑子类对象可以访问父类成员函数和自身成员函数;捆绑基类对象只能访问基类成员函数,不能访问子类成员函数,这是自然的:Studentds(“Jenny");GraduateStudentgs(“Smith”);ds.addCourse(3,2.5);ds.display();gs.addCourse(3,3.0);gs.display();gs.getQualifier();ds.getQualifier();//error9/7/20215子类也是基类的用户,其成员函数不能访问基类的私有

4、成员.但子类可以区别于外来用户,让基类protected成员允许子类对象访问而不许外来对象访问.例如,对于基类:classFather{inta;protected:voidfp(){cout<

5、kprint();//ok}voided(){a++;}//error};9/7/202163.构造子类对象(ConstructingObjectsofSubClass)默认构造:如果子类没有构造函数,则调用默认构造函数,默认构造函数转而先调用默认父类构造函数,完成父类对象部分的构造. 如果父类的上面还有父类,则依次递归.9/7/20217自定义构造:为了规定父类构造函数的调用方式而不是默认调用,需要自定义子类构造函数,并且,在构造函数定义体的初始化列表中描述父类构造函数的调用形式. 描述形式与对象成员构造的描述一致.GraduateStudent(conststr

6、ing&pN,Advisor&adv) :Student(pN),advisor(adv),qualifierGrade(0) {}9/7/20218覆盖(overlap):子类定义了与祖先类(父类,或者父类的父类...)名字相同的成员.classStudent{ public:voiddisplay();//... }; classGraStudent:publicStudent{ public:voiddisplay();//overlap//... }; voidfn(){GraStudentgs;gs.display();//callGraStudent::

7、display() }捆绑子类对象访问成员函数,则首先匹配子类,然后父类,再父类的父类,依此类推.9/7/20219拷贝构造:子类若没有定义拷贝构造函数,则子类对象在拷贝创建时先调用父类的拷贝构造函数,再完成自己的位对位拷贝. 父类若没有定义拷贝构造函数,则子类对象在拷贝创建中调用父类默认的拷贝构造函数.赋值操作符原理相似9/7/2021104.继承方式(InheritanceMode)继承可以公有继承,保护继承和私有继承.公有继承是普通继承,基类可以为大多数应用服务.也可以重复继承保护继承是“单传”继承,只继承给自己的后代,应用是以子孙的公有成员函数来对外展开

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

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

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