这里只列出一些重要的自己容易忽略的知识点,对于类继承的概念和原理性的东西不做描述。
首先是关于初始化列表:
派生类应该通过初始化列表来将基类信息传递给基类的构造函数。
初始化列表的赋值顺序取决于类声明中成员变量的声明顺序,和初始化列表的顺序无关。
成员初始化列表只能用于构造函数。
基类和派生类之间的关系:
基类指针可以指向派生类的成员(不进行显式类型转换)。
基类的引用可以在不显式类型转换下引用派生类对象。
虚函数的工作原理,参看陈皓的讲解,很不错的一篇文章:
http://blog.csdn.net/haoel/article/details/1948051/
使用虚函数,每个对象都将增大,增大的部分为存储地址的空间;对于每个类,编译器都会创建一个虚函数地址表;每一次的函数调用都会查找该虚函数地址表。
当类中声明了纯虚函数,则该类不能进行实例化,只能作为基类使用。
当基类和派生类都使用动态内存分配时,派生类的析构函数,复制构造函数,赋值运算符都必须使用相应的基类方法来处理基类元素。
不能被继承的元素:
1. 构造函数。产生一个派生类对象时,会先调用基类的构造函数,然后调用派生类的构造函数。
2. 析构函数。调用顺序和构造函数相反。
3. 赋值运算符。
本文探讨了 C++ 中的类继承概念,包括初始化列表的作用、基类与派生类的关系、虚函数的工作原理及其实现细节。此外还讨论了纯虚函数的应用场景以及基类和派生类在动态内存分配时需要注意的问题。
5034

被折叠的 条评论
为什么被折叠?



