一、多态实现
1、面向对象中 " 多态 " 的真正需求
在上一篇博客 【C++】多态 ① ( 类型兼容性原则与函数重写 | “ 多态 “ 引入 | 函数重写 )
中 , 进行了测试 , 在测试代码中..., 这并不是我们想要的 ;
上述测试中 , 根据实际的 对象类型 确定 重写函数 中要调用 父类 还是 子类 中的函数 , 并不是我们期望的 ;
多态 的 需求是 : 相同的调用语句 , 有多种不通的表现形态...调用的 是 父类的函数 , 这样才 符合 多态 的理念 ; 实际对象是子类 , 调用子类的函数 ;
通过 父类指针 可以调用 子类中重写的函数 , 根据 指针 指向的不同 , 调用不同类 的 函数 ,...关键字 修饰 函数 , 子类中重写该函数时 , 可以不使用 virtual 关键字 ;
在开发时 , 建议 父类 和 子类 的 重载函数 都使用 virtual 关键字修饰 , 表示多态 , 这样能在开发者阅读代码时..., 更容易理解 此处要开始使用 多态机制了 ;
二、代码示例 - 多态实现
1、代码示例
在下面的代码中 , 使用 virtual 关键字 修饰 父类 和 子类 中的函数 , 最终实现了 多态 ;
代码示例