RTTI 运行时类型识别 及异常处理

时间:2023-03-08 17:50:02

RTTI   运行时类型识别

typeid  ------  dynamic_cast

dynamic_cast 注意事项:

1.只能应用于指针和引用之间的转化

2.要转换的类型中必须包含虚函数

3.转换成功返回的是子类的地址,失败返回NULL

typeid注意事项:

1.typeid返回一个type_info对象的引用

2.如果想通过基类获得派生类的数据类型,基类必须带有虚函数  

3.只能获取对象的实际类型

异常处理:

1.关键字: try... catch....    throw

尝试... 捕获...      抛出异常

下图是一个处理异常的总流程:

RTTI 运行时类型识别 及异常处理

下图是一个处理异常的例子:

RTTI 运行时类型识别 及异常处理

处理异常还可以这样:

RTTI 运行时类型识别 及异常处理

常见的异常:

RTTI 运行时类型识别 及异常处理