// 在使用时需要注意:被转换对象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 {}