C++继承与派生详解:C++派生类声明和构成、继承的意义

面向对象程序设计有4个主要特点:抽象、封装、继承和多态性。我们已经讲解了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础。

要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特 征——继承性和多态性。本章主要介绍有关继承的知识,多态性将在后续章节中讲解。

继承性是面向对象程序设计最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对象的精华,就是没有掌握面向对象程序设计的真谛。

在传统的程序设计中,人们往往要为每一种应用项目单独地进行一次程序的开发,因为每一种应用有不同的目的和要求,程序的结构和具体的编码是不同的,人们无法使用已有的软件资源。即使两种应用具有许多相同或相似的特点,程序设计者可以吸取已有程序的思路,作为自己开发新程序的参考,但是人们仍然不得不重起炉灶,重写程序或者对已有的程序进行较大的改写。显然,这种方法的重复工作量是很大的,这是因为过去的程序设计方法和计算机语言缺乏软件重用的机制。人们无法利用现有的丰富的软件资源, 这就造成软件开发过程中人力、物力和时间的巨大浪费,效率较低。

面向对象技术强调软件的可重用性(software reusability)。C++语言提供了类的继承机制,解决了软件重用问题。
C++继承的概念及语法
C++继承权限和继承方式
C++继承时的名字遮蔽
类继承时的作用域嵌套
C++继承时的对象内存模型
C++派生类的构造函数
C++派生类的析构函数
C++类的多继承
C++多继承时的对象内存模型
借助指针突破访问权限的限制
C++虚继承和虚基类
C++虚继承时的构造函数
C++虚继承下的内存模型
C++向上转型(将派生类赋值给基类)
将派生类指针赋值给基类指针时到底发生了什么