当前位置:酷酷问答>百科知识>教你怎样使用dynamic cast类型转换

教你怎样使用dynamic cast类型转换

2024-09-17 14:47:59 编辑:zane 浏览量:534

教你怎样使用dynamic cast类型转换

的有关信息介绍如下:

教你怎样使用dynamic cast类型转换

dynamic_cast是C++ 一种类型转换运算符,会检查类型的转换是否合法,在类层次结构中进行向上转换,而不允许其他转换。因此,这样的转换是安全的,下面将会教你怎样使用dynamic_cast以及其注意事项!

首先实现一个基类CBase, 然后定义printf函数,该函数必须是虚函数,即加上关键字virtual

接着实现一个子类CDervied,继承CBase类, 同样定义函数printf

完成上面基本代码的实现之后,主函数加入如下所示的代码段进行测试

点击运行调试,动态转换的指针变量的值为空,说明指向基类的指针无法转换为指向子类

改变主函数的测试代码为下图所示,定义基类指针并且指向子类对象,然后动态转换为子类指针

点击运行调试,从结果可以看出,指向子类的基类指针能够动态转换为指向子类的指针

再次改变主函数的测试代码,指向子类对象的基类的引用动态转换为子类的引用

点击运行调试,从结果可以看出,指向子类对象的基类引用可以转换为指向子类的引用

版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/article/39827.html
热门文章