《C++程序设计》课程教学课件(PPT讲稿)第11章 类的继承

第11章继承与派生 11.1继承与派生的概念 11.2派生类的声明方式 11.3派生类的构成 11.4派生类成员的问属性 11.5派生类的构造函数和析构函数 11.6多重继承 11.7基类与派生类的转换 11.8继承与组合 11.9继承在软件开发中的重要意义
第11章 继承与派生 11.1 继承与派生的概念 11.2 派生类的声明方式 11.3 派生类的构成 11.4 派生类成员的访问属性 11.5 派生类的构造函数和析构函数 11.6 多重继承 11.7 基类与派生类的转换 11.8 继承与组合 11.9 继承在软件开发中的重要意义

面向对象程序设计有4个主要特点: 抽象 前面已述 封装 继承:本章介绍的重点机制,解决了软件重用问题。 多态性:第12章中将介绍 面向对象技术强调软件的可重用性 (software reusability)。C+语言提供了类 的继承
面向对象程序设计有4个主要特点: 抽象 封装 继承:本章介绍的重点机制,解决了软件重用问题。 多态性:第12章中将介绍 前面已述 面向对象技术强调软件的可重用性 (software reusability) 。C++语言提供了类 的继承

的概念 在C++中可重用性是通过继承(inheritance) 机制来实现的;继承是C++的一个重要组成 部分。 在不同的类中,数据成员和成员函数是不 相同的。但有时两个类的内容基本相同或 有一部分相同。 在第8章已举了马的例子来说明继承的概念 见图11.1示意
11.1 继承与派生 的概念 在C++中可重用性是通过继承(inheritance) 机制来实现的;继承是C++的一个重要组成 部分。 在不同的类中,数据成员和成员函数是不 相同的。但有时两个类的内容基本相同或 有一部分相同。 在第8章已举了马的例子来说明继承的概念 见图11.1示意

继承:就是在一个已有的类的基础上建立一个新类 已存在的类(例如“马”)称为“基类(base class)”或“父类(father class)” 新建立的类(例如“公马”)称为“派生类 (derived class)”或“子类(son class) 马 基类 公马 母马 派生类 白公马 黑公马 黄公马 白母马 黑母马 黄母马 图11.1 图11.2
已存在的类(例如“马”)称为“基类(base class)”或“父类(father class)”。 新建立的类(例如“公马”)称为“派生类 (derived class)”或“子类(son class)” 图11.1 图11.2 继承:就是在一个已有的类的基础上建立一个新类

类的继承:一个新类 类的派生从已有的类 从已有的类那里获得 [父类产生一个新的 其已有特性。 子类 父类的特 H 用已有的类来建立专 继承了基类的所有数 用类的编程技术 据成员和成员函数, 并可以对成员作必要 的增加或调整。 一个基类可以派生出多个派生类,每一个派生类又 可以作为基类再派生出新的派生类,因此基类和派 生类是相对而言的
类的继承:一个新类 从已有的类那里获得 其已有特性。 父类的特 性 类的派生从已有的类 (父类)产生一个新的 子类 用已有的类来建立专 用类的编程技术 继承了基类的所有数 据成员和成员函数, 并可以对成员作必要 的增加或调整。 一个基类可以派生出多个派生类,每一个派生类又 可以作为基类再派生出新的派生类,因此基类和派 生类是相对而言的

个派生类只从一个基类派生,这称为单继承 (single inheritance),这种继承关系所形成的 层次是一个树形结构,可以用图11.3表示。 A A3 32 A33 图11.3 在本书中约定,箭头表示继承的方向,从派 生类指向基类
在本书中约定,箭头表示继承的方向,从派 生类指向基类。 图11.3 一个派生类只从一个基类派生,这称为单继承 (single inheritance),这种继承关系所形成的 层次是一个树形结构,可以用图11.3表示

一个派生类不仅可以从一个基类派生,也可以从 多个基类派生。一个派生类有两个或多个基类的称 为多重继承(multiple inheritance),这种继承关 系所形成的结构如图11.4所示。 B C AC AB BC ABCI ABC2 ABC3 图11.4
图11.4 一个派生类不仅可以从一个基类派生,也可以从 多个基类派生。一个派生类有两个或多个基类的称 为多重继承(multiple inheritance),这种继承关 系所形成的结构如图11.4所示

关于基类和派生类的关系,可以表述为:派 生类是基类的具体化,而基类则是派生类的抽 象 学生 小学生 中学生 大学生 研究生 留学生 初中生 高中生 专科生 本科生 硕士生博士生 图11.5
关于基类和派生类的关系,可以表述为: 派 生类是基类的具体化,而基类则是派生类的抽 象 图11.5

11.2派生类的声明方式 在基类Student的基础上,单继承派生类Student1: class Student1:public Student //声明基类是Student public: void display_1() //新增加的成员函数 {cout<<"age:"<<age<<endl; cout<<"address:"<<addr<<endl;} private: int age; /新增加的数据成员 string addr; /新增加的数据成员 }
11.2 派生类的声明方式 在基类Student的基础上,单继承派生类Student1: class Student1: public Student //声明基类是Student {public: void display_1( ) //新增加的成员函数 {cout<<″age: ″<<age<<endl; cout<<″address: ″<<addr<<endl;} private: int age; //新增加的数据成员 string addr; //新增加的数据成员 };

public的称为“公用继承(public inheritance)” 声明派生类的一般形式为 class派生类名:[继承方式]基类名 派生类新增加的成员 public(公用的) 此项可选,若不 继承方式 private(私有的) 写,则默认为 private(私有的) protected(受保护的)
继承方式 public(公用的) private(私有的) protected(受保护的) 此项可选,若不 写,则默认为 private(私有的) public的称为“公用继承(public inheritance)” 声明派生类的一般形式为 class 派生类名: [继承方式] 基类名 { 派生类新增加的成员 } ;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++程序设计》课程教学课件(PPT讲稿)第10章 运算符重载.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第6章 指针(2/2).ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第6章 指针(1/2).ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第5章 二维数组.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第5章 一维数组.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第4章 函数与预处理(2/2).ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第4章 函数与预处理(1/2).ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第3章 循环结构.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第3章 选择结构.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第3章 程序设计初步.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第2章 数据类型与表达式.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第1章 C++的初步知识.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)总结.ppt
- 《网络安全基础》课程教学资源(书籍文献)Bulletproof SSL and TLS,Ivan Ristić,Understanding and Deploying SSL/TLS and PKI to Secure Servers and Web Applications.pdf
- 新疆大学:《网络安全基础》课程教学资源(实验指导)实验8 系统安全.doc
- 新疆大学:《网络安全基础》课程教学资源(习题解答)用户认证.pdf
- 新疆大学:《网络安全基础》课程教学资源(实验指导)实验7 网络安全架构(IP安全).doc
- 新疆大学:《网络安全基础》课程教学资源(实验指导)实验6 无线网络WLAN安全.docx
- 新疆大学:《网络安全基础》课程教学资源(实验指导)实验5 电子邮件安全PGP.doc
- 新疆大学:《网络安全基础》课程教学资源(实验指导)实验4 Web安全(SSL与HTTPS).docx
- 《C++程序设计》课程教学课件(PPT讲稿)第12章 多态性与虚函数.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第13章 输入输出流.ppt
- 《C++程序设计》课程教学课件(PPT讲稿)第9章 类和对象的进一步讨论.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)产品广告(实训).ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)创建运动的水面(实训).ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)动力.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)粒子系统.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)轨迹控制器(曲线编辑器).ppt
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(1/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(2/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(3/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(4/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(5/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(6/7).doc
- 《动画设计与制作》课程教学资源(授课教案)3DSMAX2008讲义(7/7).doc
- 《动画设计与制作》课程教学课件(PPT讲稿)骨骼蒙皮动画2009A.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)骨骼蒙皮动画2009B2.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)第01章 3ds max基础知识.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)第02章 建模.ppt
- 《动画设计与制作》课程教学课件(PPT讲稿)第03章 空间位相变换.ppt