c++之继承
2016-10-30 14:57
134 查看
继承的概念
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持 原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设 计的层次结构,体现了由简单到复杂的认知过程。
继承的种类及继承后成员的变化
继承的定义格式
派生类中构造函数的调用顺序
派生类中析构函数的调用顺序
基类
派生类
创建一个派生类运行结果如下
派生类对象的结构
赋值兼容规则
1子类对象可以赋值给父类,父类不可以赋值给子类
2父类对象的指针及引用可以给子类,子类的则不能给父类
基类中不能继承的函数
1 静态成员不能继承
2友元函数不能被继承
同名隐藏
基类和派生类中有函数名相同的函数那么基类的会被隐藏。要调用必须使用作用域限定符
多继承和菱形继承
菱形继承的结构
先继承的哪个类,谁就在上面
菱形虚拟继承
格式
class c1:virtual public B
class c2:virtual public B
class D:public c1,public c2
它的结构
菱形虚拟继承的作用及缺陷
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持 原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设 计的层次结构,体现了由简单到复杂的认知过程。
继承的种类及继承后成员的变化
继承的定义格式
派生类中构造函数的调用顺序
派生类中析构函数的调用顺序
基类
派生类
创建一个派生类运行结果如下
派生类对象的结构
赋值兼容规则
1子类对象可以赋值给父类,父类不可以赋值给子类
2父类对象的指针及引用可以给子类,子类的则不能给父类
基类中不能继承的函数
1 静态成员不能继承
2友元函数不能被继承
同名隐藏
基类和派生类中有函数名相同的函数那么基类的会被隐藏。要调用必须使用作用域限定符
多继承和菱形继承
菱形继承的结构
先继承的哪个类,谁就在上面
菱形虚拟继承
格式
class c1:virtual public B
class c2:virtual public B
class D:public c1,public c2
它的结构
菱形虚拟继承的作用及缺陷
相关文章推荐
- JAVA 的interface观念 与C++ 多重继承的比较
- 《Modern C++ Design》Loki库读解三:多继承的改良
- C++多继承
- C++特性探寻-继承、成员函数、this指针
- C++学习笔记-类的继承(派生类)
- C++箴言:接口继承和实现继承
- C++程序设计——继承
- 人与继承的C++实现
- JAVA如何利用接口制造类似于C++的多继承
- c++入门学习笔记继承
- C++继承体系中名字遮挡问题
- 学习C++中的继承
- C++单继承
- MSN上关于C++多重继承和多态的聊天记录
- C++ Boost 之Python(继承)
- 用于继承的 singleton (在C++中)
- 在C++中禁止类继承
- C++多继承中二义性问题--虚基类
- 多继承实现COM类中的"菱形问题" C++也有一样的菱形问题
- C++ FAQ Lite[19]--继承(基础)(更新)