您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: