和 子类 类型之间的转换 , 推荐使用 动态类型转换 dynamic_cast ;
一、子类 和 父类 之间的类型转换 - 动态类型转换 dynamic_cast
C++ 面向对象 应用场景中 , 涉及到...父类 和 子类 之间的转换 ;
很明显 C 语言的 强制类型转换 , 不管是 隐式 还是 显示 转换 , 都无法转换 C++ 对象的类型 ;
动态类型转换 dynamic_cast 一般用于 父类 (...对象 / 指针 / 引用 ) 和 子类 ( 对象 / 指针 / 引用 ) 之间的转换 , 是 C++ 语言特有的 , C 语言中没有该转换类型 ;
1、构造父类和子类
编写一个 父类 , 其中定义一个纯虚函数...<< endl;
}
};
2、子类 和 父类 之间的类型转换 - 隐式类型转换
先创建 子类对象 ,
将子类对象的 地址赋值给 父类指针 , 其中包含了 隐式转换 ;
在下面的代码中 , 使用取地址符获取...和 父类 之间的类型转换 - 动态类型转换 dynamic_cast
动态类型转换 dynamic_cast , 一般用于 子类 和 父类 之间的类型转换 ,
运行时 , 如果类型转换成功 , 则进行转换