C++ Primer Plus读书笔记 ——13.1.4 派生类和基类的特殊关系 13.3 多态公有继承 13.4 静态联编和动态联编

  • 在公有派生下派生类与基类的关系

    • 如果是公有派生,那么派生类一个就是一种特殊的基类,或者说派生类拥有基类的所有方法,所以,派生类对象可以使用基类的方法,除非方法是私有的
    • 基类指针或引用可以在不显式转化为派生类指针或引用的情况下直接指向派生类对象。
    • 但注意,上述规则在private派生、protected派生下不适用。
  • 多态的实现
    在Java中,这种多态是默认行为,但是在c++的世界里,必须依赖于虚函数

    • 如何使用virtual关键字
class Base{
    
    
	virtual …… // 声明虚函数 
};
class Derived:public Base{
    
    
	…… // 可以去重载基类的虚函数
};
  • 调用虚函数的细节
    如果基类的某个方法没有声明成虚的,那么在进行函数的调用的时候,会根据指针或者引用的静态类型去调用相应的函数,但如果是虚的话,那么会根据这个指针或者引用指向的内存区域所存储的真实的对象类型去调用。

  • 为什么不把虚函数机制设为默认的准则,就像Java一样?

  • 有关虚函数的注意事项

猜你喜欢

转载自blog.csdn.net/qq_44846324/article/details/108424844