当前课程知识点:C++语言程序设计进阶 >  第七章 继承与派生 >  继承的基本概念和语法 >  继承的基本概念和语法

返回《C++语言程序设计进阶》慕课在线视频课程列表

继承的基本概念和语法在线视频

继承的基本概念和语法

继承的基本概念和语法

继承与派生概述

继承与派生的目的

单继承时派生类的定义

class 派生类名:继承方式 基类名

{

成员声明;

}

class Derived: public Base

{

public:

Derived ();

~Derived ();

};


多继承时派生类的定义

class 派生类名:继承方式基类名1,继承方式基类名2...

{

成员声明;

}

注意:每一个“继承方式”,只用于限制对紧随其后之基类的继承。

class Derived: public Base1, private Base2

{

public:

Derived ();

~Derived ();


};



下一节:继承方式简介及公有继承

返回《C++语言程序设计进阶》慕课在线视频列表

继承的基本概念和语法课程教案、知识点、字幕

大家好

欢迎回来继续学习

C++语言程序设计

在这一节呢

我们来学习

类的继承的基本概念

和语法

实际上呢

我们看到书上 资料上

经常有说继承的

有说派生的

那么它是一回事

还是两回事呢

实际上继承和派生

是对同一个问题

从不同角度来看

保持已有类的特性

而构造新类的过程

就称为继承

在已有类的基础上

新增自己的特征

而产生新类的过程呢

就叫派生

所以实际上是个侧重点不同

侧重在说

我要保持已有类的特征

那么就在说继承

我们继承了些什么东西

我们经常生活中

也通俗地说继承与发展

实际上派生

就在原有的基础上

发展的这么一个过程

实际上也就是一个扩展的过程

那么在这里呢

被继承的类呢就称为基类

或者叫做父类

也叫Base Class

派生出来的新类呢

称为派生类 也叫子类

叫Derived Class

那么直接参与派生出

某类的这个基类

称为直接基类

那一个基类

它派生出派生类以后

派生类可以继续作为基类

再派生出下级的类

这样的就是多级派生

那么除了一个

或多个基类以外呢

类还可以有它基类的基类

那么这就是间接的基类

那我们使用继承和派生的目的

是什么呢

继承的目的就是为了

充分利用原来已经有的程序

它的设计

还有它的实现

也就是说

要充分利用原来已经有的类

在这个基础之上

再去建立新的类

这是继承的目的

派生的目的呢

当然就是我们遇到新的问题了

原有的类

不能够完全适用

不能够解决这个新的问题了

如果不是这样

我们还继承什么呢

直接拿类来用

产生对象就可以了

所以

这就是继承和派生

两方面的目的

一方面

希望尽量利用原有的类

另一方面呢

原有的类它肯定是不够用了

所以我们要去发展

要去派生

现在我们来看单继承的时候

这个派生类定义的语法

所谓单继承呢

就是派生类

它只从一个直接基类继承

所以呢

我们看这个

在派生类类名后面呢

有一个冒号

然后后面要列出基类名

这里还有一个继承方式

它指的是什么呢

稍后就会给大家讲

现在呢

我们只关注到它后面的很关键

要列出这个基类名

也就是说它继承谁了

然后

这个类体大括号里面的成员声明

是什么呢

是除了我们继承基类以外

派生类自己

还新增了哪些成员

要在这里面声明

比如说我们看这个例子

这个派生类Derived

这个类

它就继承了一个基类

名字叫Base

继承的方式是public

public继承到底说的是什么

还是等一会我们会讲的

好 接下来我们看

在这个类体里面

那定义了Derived类自己的

构造函数 析构函数

当然除此而外

你有更多其他的函数

更多的数据成员

都可以像普通的类定义一样去写

所以呢

单继承的时候

派生类定义

语法上其实挺简单的

我们再来看

多继承的时候

怎么写派生类的定义呢

在C++中

是支持多继承的

也就是说

你看这有多少现有的类好用

你都可以把它拿过来

多好啊 是吧

我们可以在这儿列出多个基类

每个基类呢

有自己独立的继承方式

比如说我们看底下这个例子

Derived类它继承了两个基类

一个Base1

一个Base2

继承Base1是以public方式

继承Base2是以private方式

当然了

public是我们最常用的方式

private继承呢其实用的不多

也需要慎用

后面都会给大家介绍的

那么经过继承了以后

派生类的对象

都包含些什么呢

首先它包含了从基类

继承过来的成员

继承过来不加改变

原封不动就用的那些

这是首先的第一部分

另外呢

我们还可以改造

从基类继承过来的成员

更多的是

我们还要新增成员

这才是派生的意义所在

因为原有的类里面的东西

不太够用了

原封不动地拿来用

不够用了

或者说呢

有些算法不太合时宜了

那么改造一下

是不是就可以了呢

有一些可能需要改造

除了之外

还不能满足

我们解决新问题的需要

那就需要新增新的数据成员

新增新的函数成员了

所谓吸收基类的成员

那么到底吸收的基类

有哪些成员呢

是所有的成员都原封不动地

继承过来了吗

也不是

在默认情况下呢

基类的构造函数

和析构函数是不被继承的

但是呢

在C++11新标准中呢

又有了一点功能的扩展

我们可以用using

这个关键字表示

我们连构造函数也给继承过来

这个在后面介绍

构造函数的时候

会大家再做稍微详细地介绍

所谓改造呢

就是我们在派生类中

可以定义与基类成员

同名的成员

这样基类同名的成员

就被覆盖了

当然新增呢就是

我们完全增加新的功能

和新的数据

C++语言程序设计进阶课程列表:

第七章 继承与派生

-导学

--导学

-继承的基本概念和语法

--继承的基本概念和语法

-第七章 继承与派生--继承的基本概念和语法习题

-继承方式

--继承方式简介及公有继承

--私有继承和保护继承

-第七章 继承与派生--继承方式

-基类与派生类类型转换

--基类与派生类类型转换

-第七章 继承与派生--基类与派生类类型转换

-派生类的构造和析构

--派生类的构造函数

--派生类的构造函数举例

--派生类的复制构造函数

--派生类的析构函数

--第七章 继承与派生--派生类的构造和析构

-派生类成员的标识与访问

--访问从基类继承的成员

--虚基类

-第七章 继承与派生--派生类成员的标识与访问

-小结

--小结

-综合实例

--第七章综合实例

-实验七

--实验七

-第七章讲义

第八章 多态性

-导学

--导学

-第八章 多态性--导学

-运算符重载

--运算符重载的规则

--双目运算符重载为成员函数

--单目运算符重载为成员函数

--运算符重载为非成员函数

-第八章 多态性--运算符重载

-虚函数

--虚函数

--虚析构函数

--虚表与动态绑定

-第八章 多态性--虚函数

-抽象类

--抽象类

--第八章 多态性--抽象类

-override与final

--override与final

-第八章 多态性--override与final

-小结

--第八章小结

-综合实例

--第八章综合实例

-实验八

--实验八

- 第八章讲义

第九章 模板与群体数据

-导学

--导学

-模板

--函数模板

--类模板

-第九章 模板与群体数据--模板

-线性群体

--线性群体的概念

-第九章 模板与群体数据--线性群体

-数组

--数组类模板

--例9-4数组类应用举例

-链表

--链表的概念与结点类模板

--链表类模板

-第九章 模板与群体数据--链表

-栈

--栈类模板

--栈类模板课后习题

--例9-9 栈的应用

--例9-9 栈的应用课后习题

-队列

--队列类模板

-第九章 模板与群体数据--队列

-排序

--排序概述

--插入排序

--选择排序

--交换排序

-第九章 模板与群体数据--排序

-查找

--查找

--查找课后习题

-小结

--小结

-综合实例

--综合实例

-实验九

--实验九

- 第九章讲义

第十章 泛型程序设计与C++标准模板库

-导学

--导学

-泛型程序设计及STL的结构

--泛型程序设计的基本概念

--STL简介

-第十章 泛型程序设计与C++标准模板库--泛型程序设计及STL的结构

-迭代器

--迭代器

-第十章 泛型程序设计与C++标准模板库--迭代器

-容器的基本功能与分类

--容器的基本功能与分类

-第十章 泛型程序设计与C++标准模板库--容器的基本功能与分类

-顺序容器

--顺序容器的基本功能

--顺序容器的特征

--顺序容器的插入迭代器与适配器

--第十章 泛型程序设计与C++标准模板库--顺序容器

-关联容器

--关联容器分类和基本功能

--集合

--映射

--多重集合和多重映射

-第十章 泛型程序设计与C++标准模板库--关联容器

-函数对象

--函数对象

--函数适配器

-算法

--算法

-小结

--第十章小结

-综合实例

--综合实例

-实验十

--实验十

- 第十章讲义

第十一章 流类库与输入/输出

-导学

--导学

-I/O流的概念及流类库结构

--I/O流的概念及流类库结构

-第十一章 流类库与输入/输出--I/O流的概念及流类库结构

-输出流

--输出流概述

--向文本文件输出

--向二进制文件输出

--向字符串输出

-第十一章 流类库与输入/输出--输出流

-输入流

--输入流概述

--输入流应用举例

--从字符串输入

-第十一章 流类库与输入/输出--输入流

-输入/输出流

--输入/输出流

-第十一章 流类库与输入/输出--输入/输出流

-小结

--小结

-综合实例

--综合实例

-实验十一

--实验十一

- 第十一章讲义

第十二章 异常处理

-导学

--第12章导学

-异常处理的思想与程序实现

--异常处理的思想与程序实现

-第十二章 异常处理--异常处理的思想与程序实现

-异常处理中的构造与析构

--异常处理中的构造与析构

-第十二章 异常处理--异常处理中的构造与析构

-标准程序库异常处理

--标准程序库异常处理

-第十二章 异常处理--标准程序库异常处理

-小结

--第12章小结

-综合实例

--综合实例

-实验十二

--实验十二

- 第十二章讲义

继承的基本概念和语法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。