C++ Dynamic_cast

来源:互联网 发布:网络证据保全公证 编辑:程序博客网 时间:2024/06/04 18:02

dynamic_cast

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

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

3.必须为引用和指针。

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

static_cast

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


reinterpret_cast 相当于c语言的强制类型转换 按下不表。

0 0
原创粉丝点击