C++面向对象程序设计(第五章)课件.ppt

C++面向对象程序设计(第五章)课件.ppt

ID:57055424

大小:826.00 KB

页数:93页

时间:2020-07-30

C++面向对象程序设计(第五章)课件.ppt_第1页
C++面向对象程序设计(第五章)课件.ppt_第2页
C++面向对象程序设计(第五章)课件.ppt_第3页
C++面向对象程序设计(第五章)课件.ppt_第4页
C++面向对象程序设计(第五章)课件.ppt_第5页
资源描述:

《C++面向对象程序设计(第五章)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计第五章中国石油大学计算机系2011.4第五章继承与派生面向对象程序设计有四个主要特点:抽象(二、三章);封装(二、三章);继承(五章);多态性(六章)。5.1继承与派生的概念5.2派生类的声明方式5.3派生类的构成5.4派生类成员的访问属性5.5派生类的构造函数和析构函数5.6多重继承5.1继承与派生的概念为何要使用继承与派生?重用代码。例如已声明了类studentclassStudent{private:intnum;stringname;charsex;public:voidget_value(){cin>>num>>name>>sex;

2、}voiddisplay();};如何获得一个包含年龄信息的学生类?继承与派生的关系类A是已存在的类,在A的基础上建立一个新类B:类A称为基类或父类,类B称作派生类或子类。子类从父类获得其已有的特性,这种现象称作类的继承。父类产生子类,称作类的派生。单继承与多继承图5.3单继承单继承:一个派生类只从一个基类派生,如图5.3。多重继承:一个派生类有两个或多个基类,如图5.4。A派生出A1A1继承A图5.4多重继承类AB的基类为A和B5.2派生类的声明方式派生类的声明格式:class派生类名:[继承方式]基类名{派生类新增成员声明};继承方式包括:public

3、、private(系统默认)、protected。举例:已经声明一个基类student,在它基础上通过单继承建立一个增加了“年龄”的派生类student1。classStudent1:publicStudent{private:intage;//新增数据成员public:voidget_value1(){cin>>age;}voiddisplay_1()//新增成员函数{cout<<"age:"<

4、,name,sex基类成员成员函数display()//可以重载新增成员数据成员age派生类成员成员函数display_1()构造函数需重新定义5.4派生类成员的访问属性派生类中的两类成员:基类成员和派生类成员两类成员的属性:由基类成员的访问属性和派生类的继承方式组合决定5.4.1公有继承5.4.2私有继承5.4.3保护成员和保护继承*5.4.4多级派生时的访问属性5.4.1公有继承公有/公用继承:派生类的继承方式为public保护私有成员是一条重要的原则如何访问呢?用基类函数间接访问基类私有成员classStudent//声明基类{private:int

5、num;stringname;charsex;public:voidget_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<>age;}voiddisplay_1(){//cout<<“n

6、um:”<

7、);return0;}5.4.2私有继承(用的少)私有继承:派生类的继承方式为private。在派生类内部:全部基类成员在派生类中都成为了私有成员或不可访问的成员,无法进一步派生。在派生类的外部:派生类的对象无法访问基类的全部成员。表5.2私有基类在派生类中的访问属性例5.2仅将例5.1中公有继承改为私有继承方式。参见PPT:12~14classStudent1:privateStudent{…};intmain(){Student1stud1;//访问基类成员函数,错误。如何修改?//stud1.get_value();stud1.get_value_1

8、();//访问派生类函数,正确stud1.display_1();

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

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

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