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

dynamic_cast是C++ 一种类型转换运算符 , 会查抄类型的转换是否正当 , 在类条理布局中进行标的目的上转换 , 而不许可其他转换 。 是以 , 如许的转换是平安的 , 下面将会教你如何利用dynamic_cast以及其注重事项!

需要这些哦
C++
方式/
1起首实现一个基类CBase, 然后界说printf函数 , 该函数必需是虚函数 , 即加上关头字virtual

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

文章插图

2接实在现一个子类CDervied,担当CBase类, 同样界说函数printf

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

文章插图

3完当作上面根基代码的实现之后 , 本家儿函数插手如下所示的代码段进行测试

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

文章插图

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

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

文章插图

5改变本家儿函数的测试代码为下图所示 , 界说基类指针而且指标的目的子类对象 , 然后动态转换为子类指针

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

文章插图

6点击运行调试 , 从成果可以看出 , 指标的目的子类的基类指针可以或许动态转换为指标的目的子类的指针

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

文章插图

7【教你怎样使用dynamic cast类型转换】再次改变本家儿函数的测试代码 , 指标的目的子类对象的基类的引用动态转换为子类的引用

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

文章插图

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

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

文章插图

注重事项喜好经验接待点赞!

以上内容就是教你怎样使用dynamic cast类型转换的内容啦 , 希望对你有所帮助哦!

    推荐阅读