这里建议不需要将有 多态 需求的函数声明为 虚函数 ;
二、多态的理解层次
多态的理解层次 :
多态实现效果 : 相同的代码调用 , 有不同的表现形态 ; 父类指针 可 指向子类对象 , 使用父类指针...通过 父类指针 调用 virtual 虚函数 , 会根据实际的对象类型调用不同的 虚函数 , 而不是死板的调用父类的成员函数 ;
多态实现原理 : 虚函数 对应 动态联编 , 非虚函数 对应 静态联编...;
有 虚函数 的类 , 在 编译时 , 会生成 虚函数表 , 对应类中生成一个 vptr 指针指向 虚函数表 ;
vptr 指针 是 与 对象绑定的 , 调用时 从 对象的 虚函数表 中查找虚函数...;
通过 父类指针 访问虚函数时 , 直接根据 实际对象 的 vptr 指针找该对象的 虚函数表 , 然后调用 虚函数表 中的 虚函数 ;
多态意义 : 多态是 设计模式 的基础 , 是 软件框架 的基础...;
三、父类指针和子类指针步长
指针数据类型 : C++ 中 指针 是 数据类型 的 一种 , 对 指针 进行 自增 ++ 或 自减 – 操作 , 指针的 地址值 是根据 指针类型 改变的 ;
指针运算