dynamic_cast 操作符
时间:2011-01-05 来源:dmastery
dynamic_cast 将基类类型的指针或引用转换为同一继承层次中其他类型的引用或指针,与其他的强制类型转换不同的是,dynamic_cast涉及运行时类型检查,如果绑定到引用或指针的对象不是目标类型的对象,则dynamic_cast失败,如果转换指针类型的dynamic_cast失败,则dynamic_cast的值为0, 如果转换引用类型的dynamic_cast失败,则抛出一个bad_cast类型的异常 因此dynamic_cast操作符其实执行两个动作,首先检查转换是否有效,如果无效则进行错误处理,如果有效,进行转换
#include <iostream>
|
指针转换
int main(int argc, char *argv[]) |
引用转换
int main(int argc, char *argv[]) |