第八章C的继承与派生_第1页
第八章C的继承与派生_第2页
第八章C的继承与派生_第3页
第八章C的继承与派生_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——第八章C的继承与派生C++类的继承与派生

继承是面向对象程序设计中最重要的机制。(主要表现为通过一个已有的类能派生出一个新的类)派生其他类的类称为基类或父类。被派生的新类叫做派生类或子类;派生类不仅继承基类所有的成员而且可以添加新的成员和成员函数,派生类能继承基类的功能。而且还能添加和改变它的功能。一种是从基类继承的成员,另一种是添加的成员。其包括数据成员和成员函数。单继承派生类的定义格式

Class派生类名:继承方式基类名{派生类新增成员的声明};单继承派生类的声明“:〞左右分别为派生类类名和基名:“{}〞里面为了类新建的成员类成员访问限定符作用:控制基类中生命的成员在多大的范围里。能被派生类访问。派生类的构成(构造函数和析构函数不能被继承,所以在派生类中还需要定义自己的析构函数和构造函数、假使基类含有带参数的构造函数,在派生类的构造函数中先要调用基类的构造函数,使基类中的数据成员首先被初始化)其继承方式有3中:共有继承(public)、

私有继承(private)、保护继承(protected)中,某些数据成员和成员函数的访问权限会改变(如公有的成员有可能变成私有成员)但是不管用哪种方式继承都不能将某一成员排除在派生类之外。派生类还可以定义和基类一模一样的函数(函数名和参数名都一样),覆盖基类中的同名函数。派生类不仅继承基类的成员,还需要添加自己的成员,从而具有自己的特性,这些成员的定义和基类中的成员定义方式是一样的,可以是共有继承,私有继承、保护继承。

派生类可以向基类对象赋值

派生类对象可以替代基类对象向基类对象的引用进行赋值或初始化

假使一个函数是基类对象或基类对象的引用,相应的实参可以用子类型对象派生类对象的地址可以赋给指向基类对象的指针变量派生类定义格式

Class派生类:继承方式基类名{

Private:

派生类中新增加的私有数据成员派生类中新增加的私有成员函数Public:

派生类中新增加的公有数据成员派生类中新增加的公有成员函数Protected:

派生类中新增加的私有数据成员派生类中新增加的公有成员函数

}(派生类的定义和一般类的定义方式很相像,都是以关键字class开头,在类体中都可以包含私有成员函数、公有成员函数、保护成员,其区别在于派生类的定义在派生类名后面用冒号“:〞引导继承方式和基类名)。

由于派生类没有显式声明自己的构造函数和析构函数,因此,派生类还有自己默认的构造函数和析构函数。

派生类的访问属性

公有继继承(对于派生类自己的新增加的成员,其访问只与成员的访问属性有关,对于

从基类继承的成员,不但与基类成员的访问属性有关,而且与派生类的继承方式有关)。

共有继承

当类的继承方式为公有继承时,基类中的public和protected成员的访问属性在派生类中不变,而基类中private成员不能被访问,也就是说,基类的public和protected成员在公有继承方式下分别继承为派生类的public和protected成员,派生类中的其他成员可以直接访问他们,在派生类的外部只能通过派生类的对象访问从基类继承来的public成员,而不管是派生类的成员还是派生类的对象都无法访问从基类继承下来的private成员。(基类的公有成员和保护成员作为派生类的成员函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论