您的位置:首页 > 编程语言 > C语言/C++

C++ Dynamic_cast

2015-09-07 14:33 218 查看
dynamic_cast

1.基类中必须有虚函数,并且实现了。否则编译不过。

2.dynamic_cast<>方括号参数可以为指针和引用,如果是指针则 不成功时返回的是空指针。引用不成功时返回的是~~~在运行时抛出异常 badcast 程序终止。

3.必须为引用和指针。

4,支持兄弟类互相转换的语法,但是转换的结果指针为零而已。

static_cast

static 参数是可以为类的,没有类型检查,子类和父类没有类型检查。所以可以转换 但可能会出错(比如说调用某些子类没有的函数的时候,或者未初始化的变量的时候 因此是不安全的)。但是static_cast 还是比强制类型转换要严谨,起码它要求转换的两个类之间是要有父子关系的。不是随便的类都可以转换的。

reinterpret_cast 相当于c语言的强制类型转换 按下不表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: