C++中static_cast和dynamic_cast强制类型转换
2021-06-27 23:06
标签:放心 dcl nbsp pre 属性 space ++ div base C++中提供了两种类型转换的方法: static_cast和dynamic_cast 简单从名字看一个是静态转换, 另一个是动态转换 一般转换分为两种: 上行转换和下行转换 上行转换大致意思是把子类实例向上转换为父类型, 下行转换是把父类实例转换为子类实例 通常子类因为继承关系会包含父类的所有属性, 但是有些子类的属性父类没有 所以上行转换的时候,子类实例转换给父类是安全的, 转换后的指针或者对象可以放心使用父类的所有方法或者属性 但是下行转换的时候可能是不安全的, 因为假如子类有父类没有的属性或者方法的话, 父类指针或者实例转换为子类型后 转换后的实例中并没有子类多出来的方法或属性, 当调用到这些方法或属性时程序就会崩溃了 举个栗子: 有的编译器会校验下行转换, 会提示错误 C++中static_cast和dynamic_cast强制类型转换 标签:放心 dcl nbsp pre 属性 space ++ div base 原文地址:https://www.cnblogs.com/zhouxihi/p/9650721.html#include
文章标题:C++中static_cast和dynamic_cast强制类型转换
文章链接:http://soscw.com/essay/98633.html