VC程序设计课件2011版 第11章 类的继承.ppt

VC程序设计课件2011版 第11章 类的继承.ppt

ID:51619035

大小:325.50 KB

页数:37页

时间:2020-03-26

VC程序设计课件2011版 第11章 类的继承.ppt_第1页
VC程序设计课件2011版 第11章 类的继承.ppt_第2页
VC程序设计课件2011版 第11章 类的继承.ppt_第3页
VC程序设计课件2011版 第11章 类的继承.ppt_第4页
VC程序设计课件2011版 第11章 类的继承.ppt_第5页
资源描述:

《VC程序设计课件2011版 第11章 类的继承.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章 类的继承学习目标掌握基类和派生类的概念;能够定义派生类,掌握不同继承方式下,派生类成员的访问控制;掌握派生类的构造和析构;理解虚基类的概念,能够利用虚基类解决共同基类导致的二义性问题;掌握虚函数和多态性的概念,会定义和使用虚函数和纯虚函数。11.1.1基类与派生类继承形成一个层次结构,一个类可由其它类通过继承得到,继承得到的新类称派生类(子类),被继承的称为父类(基类)。单继承:只有一个基类的继承多继承:有两个以上基类的继承11.1.2派生类的定义与构成派生类定义格式:class派生类名:<继承方式1>基类名1,<继承方式2>基类名2,...,<继承方式n>基类名n{成员说明;};单

2、一继承:只有一个基类名;多重继承:多个基类名access为继承方式,可为private,public,protected或空,空时的含义是private。protected派生一般不使用11.1.3继承方式与访问控制public派生:基类的公有成员如同是派生类的公有成员,即在派生类的外部也可访问基类的公有成员。基类中的私有成员仍是私有,即在基类外不能访问。基类私有派生类私有公有成员(基+派生)我能看见和使用所有的基类和派生类的公有成员11.1.3继承方式与访问控制private派生:基类中的公有成员相当于在派生类中的私有成员.即在派生类中可以访问基类的公有成员,而在派生类外,不能访问基类的公有

3、成员.基类私有、公有派生类私有公有成员(派生)我能看见和使用所有的派生类中的公有成员基类公有成员在派生类外看,变为派生类的私有成员了11.1.3继承方式与访问控制所有公有、私有派生:在派生类中可以访问和使用派生类中所有成员及基类中的公有成员。基类私有成员基类公有成员派生类成员(公有和私有)我站在派生类的位置:能看见派生类的所有公有和私有成员和基类中的公有成员保护成员:保护成员在基类外、派生类外都是不可见的,仅在派生类中可以使用,也就是,对派生类,保护成员就象公有的一样。目的:使保护成员具有隐蔽性,但为了在派生类中提高操作效率而使用。因此:若一个成员需要有私有的特性而又希望在派生类中不要通过成员

4、函数接口直接使用,可以利用保护成员的特点。基类私有成员基类公有成员、保护成员派生类成员我站在派生类的位置,能看见和使用基类所有的保护成员、公有成员。我站在基类外、派生类外,怎么也看不见保护成员#include#includeclassStudent{protected:longNo;public:Student(longno){No=no;}longGetNo(){returnNo;}};classEmploee{char*Depart;char*Job;public:Emploee(char*depart,char*job){Depart=newc

5、har[strlen(depart)+1];strcpy(Depart,depart);Job=newchar[strlen(job)+1];strcpy(Job,job);}~Emploee(){if(Depart)delete[]Depart;if(Job)delete[]Job;}char*GetDepart(){returnDepart;}char*GetJob(){returnJob;}};classStudent_Emploee:publicStudent,publicEmploee{public:Student_Emploee(char*depart,char*job,longn

6、):Student(n),Emploee(depart,job){}voidShow(){cout<<"部门:"<

7、生类中新增加的数据成员,另一方面系统要调用基类的构造函数来初始化派生类中的基类成员。这种调用基类的构造函数是由派生类的构造函数来确定的。11.2派生类的构造和析构为了初始化基类成员,派生类的构造函数的一般格式为:ClassName::ClassName(args):Base1(args1),Base2(args2),...,Basen(argsn){...//初始化派生类中的其它数据成员}11.2

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

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

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