关闭

dynamic_cast 删除子类

69人阅读 评论(0) 收藏 举报
分类:
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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:137282次
    • 积分:2186
    • 等级:
    • 排名:第17392名
    • 原创:747篇
    • 转载:12篇
    • 译文:18篇
    • 评论:2条
    文章分类