36 lines
479 B
C++
36 lines
479 B
C++
// 在使用时需要注意:被转换对象obj的类型T1必须是多态类型,即T1必须公有继承自其它类,或者T1拥有虚函数(继承或自定义)。若T1为非多态类型,使用dynamic_cast会报编译错误。
|
||
|
||
// A为非多态类型
|
||
|
||
class A{
|
||
|
||
};
|
||
|
||
//B为多态类型
|
||
|
||
class B{
|
||
|
||
public: virtual ~B(){}
|
||
|
||
};
|
||
|
||
//D为多态类型
|
||
|
||
class D: public A{
|
||
|
||
};
|
||
|
||
//E为非多态类型
|
||
|
||
class E : private A{
|
||
|
||
};
|
||
|
||
//F为多态类型
|
||
|
||
class F : private B{
|
||
|
||
}
|
||
|
||
|