dynamic_cast是C++ 一种类型转换运算符,会查抄类型的转换是否正当,在类条理布局中进行标的目的上转换,而不许可其他转换。是以,如许的转换是平安的,下面将会教你如何利用dynamic_cast以及其注重事项!
起首实现一个基类CBase, 然后界说printf函数,该函数必需是虚函数,即加上关头字virtual
接实在现一个子类CDervied,担当CBase类, 同样界说函数printf
完当作上面根基代码的实现之后,本家儿函数插手如下所示的代码段进行测试
点击运行调试,动态转换的指针变量的值为空,申明指标的目的基类的指针无法转换为指标的目的子类
改变本家儿函数的测试代码为下图所示,界说基类指针而且指标的目的子类对象,然后动态转换为子类指针
点击运行调试,从成果可以看出,指标的目的子类的基类指针可以或许动态转换为指标的目的子类的指针
再次改变本家儿函数的测试代码,指标的目的子类对象的基类的引用动态转换为子类的引用
点击运行调试,从成果可以看出,指标的目的子类对象的基类引用可以转换为指标的目的子类的引用
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!