dynamic_cast 删除子类
2016-08-30 09:19
183 查看
class A { public: A(){puts("100");} ~A(){puts("110");} }; class B : public A { public: B(){puts("200");} ~B(){puts("210");} }; class C : public B { public: C(){puts("300");} ~C(){puts("310");} }; int _tmain(int argc, _TCHAR* argv[]) { C *c = new C(); //B *b = dynamic_cast<B*>(c); //B *b = static_cast<B*>(c); B *b = reinterpret_cast <B*>(c); delete b; return 0; }
static_cast,dynamic_cast,reinterpret_cast结果都一样
100
200
300
210
110
相关文章推荐
- 20140502 static_cast和dynamic_cast的类型检查 双链表建立,删除,打印
- boost shared_ptr 基类转到子类 boost::dynamic_pointer_cast
- 使用dynamic_cast将子类转换为父类指针时,结果可能为NULL
- c++关键字详解(volatile, mutable, explicit, dynamic_ cast<T>(expression))等
- C++显示类型转换 - reinterpret_cast - const_cast - static_cast - dynamic_cast
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
- dynamic_cast
- C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- static_cast, dynamic_cast, const_cast探讨
- static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
- 浅析c++中关键字const_cast,dynamic_cast,reinterpret_cast,static_cast
- dynamic_cast 和 dynamic_Pointer_cast的使用
- Dynamic/Static/Reinterpret/Const and Volatile Cast
- 標準C++的類型轉換:static_cast、dynamic_cast
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- dynamic_cast
- c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
- C++中的四种强制转换 dynamic_case,const_cast,static_case,reinterprer_case的不同
- error C2683: “dynamic_cast”:“XXX”不是多态类型。dynamic_cast与虚函数