33,311
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cstdlib>
using namespace std;
class B
{
int i;
};
class d:public B
{
int i;
};
int main(void)
{
B *pd=new d;
d *p1=(d *)pd;/*可以*/
d *p2=static_cast<d *>(pd);/*可以*/
int *pi=new int[10];
d *p3=(d *)pi;/*可以通过编译,但是类似这样的代码在逻辑上一般都说不过去*/
d *p4=static_cast<d *>(pi);/*不允许这样的转换*/
delete []pi;
delete pd;
system("pause");
return 0;
}