C++程序设计语言读书笔记-C12 - 派生
1. 用一个类作为基类,相当于声明一个该类的对象。所以,想要成为基类,而一个类就必须有定义。
2. 类对象的构造是自下而上进行的:首先是基类,而后是成员,再后才是派生类本身。类对象的销毁则正好以相反的顺序进行。
3. 需要在类层次结构中传递类对象的指针和引用,其中的一个原因就是为了避免切割问题。另外的原因是为了维持多态性行为和保持效率。
4. 赋值运算符是不继承的。构造函数也是绝不继承的。
5. 虚函数能够克服类型域解决方案中的缺陷,它使程序员可以在基类里声明一些能够在各个派生类里重新定义的函数。 编译器和装载程序能够保证对象和应用于它们的函数之间的正确对应关系。
6. 从Employee的函数中取得正确的行为,而又不依赖于实际使用的到底是哪一种Employee,这就是所谓的多态性。一个带有虚函数的类型被称为一个多态类型。要在C++里取得多态性的行为,被调用的函数就必须是虚函数,而对象则必须是通过指针或者引用去操作的。如果直接操作一个对象(而不是通过指针或者引用),他的确切类型就已经为编译器所知,因此也就不需要运行时的多态性了。