C++程序设计教程10.ppt
《C++程序设计教程10.ppt》由会员分享,可在线阅读,更多相关《C++程序设计教程10.ppt(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C+程序设计教程(第二版)第十章 继承 Chapter 10 Inheritance 清华大学出版社 钱 能1/15/20231第十章内容1.继承结构继承结构(Inheritance Structure)2.访问父类成员访问父类成员(Access Fathers Member)3.派生类的构造派生类的构造(Constructing Derived Classes)4.继承方式继承方式(Inheritance Mode)5.继承与组合继承与组合(Inheritance&Composition)6.多继承概念多继承概念(Multi-Inheritance Concept)7.多继承技术多继承技术(
2、Multi-Inheritance Technology)1/15/202321.继承结构继承结构(Inheritance Structure)宇宙万事万物都是分类分层的,解决问题可以从事物之间的上下关系中着手这是继承引入程序设计的前提例如:已知鸟的属性,鸭子是什么的描述便可以在鸟的基础上进行:除了是鸟之外,还会一种区别于其他鸟的特殊的嘎嘎叫 因为鸭子不会飞,于是就在继承鸟的属性中去掉会飞的属性1/15/20233派生类对象结构派生类对象结构 对于下面的继承关系:对于下面的继承关系:class Father int a,b;public:/成员函数;class Son:public Fathe
3、r int c;public:/成员函数;基类对象子类对象子类对象空间总是不小于基类对象cabab基类部分子类添加部分1/15/202342.访问父类成员访问父类成员(Access Fathers Member)捆绑子类对象可以访问父类成员函数和自身成员函数;捆绑基类对象只能访问基类成员函数,不能访问子类成员函数,这是自然的:Student ds(“Jenny);GraduateStudent gs(“Smith”);ds.addCourse(3,2.5);ds.display();gs.addCourse(3,3.0);gs.display();gs.getQualifier();ds.ge
4、tQualifier();/error1/15/20235子类也是基类的用户,其成员函数不能访问基类的私有成员但子类可以区别于外来用户,让基类protected成员允许子类对象访问而不许外来对象访问.例如,对于基类:class Father int a;protected:void fp()couta;public:void print()couta;外来用户:外来用户:void fn()Son d;d.print();/ok d.disp();/ok d.fp();/error Father f;f.print();/ok f.fp();/error子类用户:子类用户:class Son:p
5、ublic Father int b;public:void disp()fp();/ok print();/ok void ed()a+;/error;1/15/202363.构造子类对象构造子类对象(Constructing Objects of SubClass)默认构造:如果子类没有构造函数,则调用默认构造函数,默认构造函数转而先调用默认父类构造函数,完成父类对象部分的构造如果父类的上面还有父类,则依次递归1/15/20237自定义构造:为了规定父类构造函数的调用方式而不是默认调用,需要自定义子类构造函数,并且,在构造函数定义体的初始化列表中描述父类构造函数的调用形式描述形式与对象成员
6、构造的描述一致GraduateStudent(const string&pN,Advisor&adv):Student(pN),advisor(adv),qualifierGrade(0)1/15/20238覆盖(overlap):子类定义了与祖先类(父类,或者父类的父类.)名字相同的成员class Studentpublic:void display();/.;class GraStudent:public Studentpublic:void display();/overlap /.;void fn()GraStudent gs;gs.display();/call GraStudent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 教程 10
限制150内