教你怎样使用dynamic cast类型转换
的有关信息介绍如下:dynamic_cast是C++ 一种类型转换运算符,会检查类型的转换是否合法,在类层次结构中进行向上转换,而不允许其他转换。因此,这样的转换是安全的,下面将会教你怎样使用dynamic_cast以及其注意事项!
首先实现一个基类CBase, 然后定义printf函数,该函数必须是虚函数,即加上关键字virtual
接着实现一个子类CDervied,继承CBase类, 同样定义函数printf
完成上面基本代码的实现之后,主函数加入如下所示的代码段进行测试
点击运行调试,动态转换的指针变量的值为空,说明指向基类的指针无法转换为指向子类
改变主函数的测试代码为下图所示,定义基类指针并且指向子类对象,然后动态转换为子类指针
点击运行调试,从结果可以看出,指向子类的基类指针能够动态转换为指向子类的指针
再次改变主函数的测试代码,指向子类对象的基类的引用动态转换为子类的引用
点击运行调试,从结果可以看出,指向子类对象的基类引用可以转换为指向子类的引用
版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/article/39827.html