* ;
// 函数接收 父类对象 作为参数, 可传入子类对象
void objSay(Father* obj)
{
}
// 调用函数, 传入子类对象指针
objSay(&son);
3、子类 和 父类..., 避免出现更大的错误 ;
下面的代码中 , 使用取地址运算符 &son 获取 的 Son* 类型的 指针 , 将其使用 静态类型转换 static_cast 转为 Father* 类型的指针 ,
在...说明被转换的对象 不是 指定类型的对象 ;
下面代码的作用是 : 将Father* obj 父类对象 强转为 Son* 子类对象 ,
如果转换成功, 说明 obj 对象就是 Son 子类对象 , 则执行...= NULL)
{
// 转换成功
// 执行 Son 特有工作
son->son_say();
}
完整代码 , 参考下面章节的 完整代码示例 ;
二、完整代码示例
1、代码示例
#include...* obj)
{
// 调用 父类 纯虚函数 可发生多态调用
// 传入不同的子类 调用的是不同的函数
obj->say();
// 动态类型转换 dynamic_cast
// 可用于在