目录
🌈前言🌈
📁 继承的概念和定义
📂 概念
📂 定义
📁 基类和派生类对象赋值转换
📁 继承中的作用域
📁 派生类的默认成员函数
构造函数
析构函数
拷贝构造函数
赋值重载
📁 继承和友元
📁 继承和静态成员
📁 复杂的菱形继承以及菱形虚拟继承
菱形继承的问题:
菱形虚拟继承
📁 继承和组合
📁 总结
🌈前言🌈
欢迎收看本期【C++杂货铺】,本期内容将讲解面向对象语言的三大特性之一的——继承。将从什么是继承,怎么使用继承,以及为什么要有继承等几个方面进行讲解。此外还见扩展多继承中菱形继承的问题,以及继承和组合的区别。
在谈继承之前我们需要了解和掌握类和对象的概念,对封装有一定理解。如果你还不是很了解,可以快速阅览下面这几篇文章。
【C++杂货铺】详解类和对象 [上]-CSDN博客
【C++杂货铺】详解类和对象 [中]-CSDN博客
【C++杂货铺】详解类和对象 [下]-CSDN博客
这里对封装做快速回顾:
1. 封装就是将对象的数据和方法放在在一起,使对象更加完美,通过访问限定符的限制,通过接口,提供给用户使用;
2. 一个类型放在另一个类型里面,通过typedef 和 成员函数的调整,封装出另一个全新的类型。
📁 继承的概念和定义
📂 概念
继承机制是面向对象程序设计使代码可以重复利用的重要手段,它允许程序员保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,成为派生类。集成呈现了面向对象程序设计的层次结构,体现了有简单到复杂的认知过程。
C++中,函数重载是对函数的重复利用,利用模板可以实现对类型不同的代码的复用。继承则是对类的复用。
举个例子,在学校里,有学生和老师,有自己学号或工号,但是他们都属于人这个范围,都有姓名 和 年龄等。
这样,我们就称学生 和 老师 都是人的派生类(子类),人则是基类(父类)。
class Person { public: void Print() { cout