64,648
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class A
{
public:
~A(){cout <<"~A()";}
};
class B
{
public:
virtual ~B(){cout <<"~B()";}
};
class C:public A,public B
{
public:
~C(){cout <<"~C()";}
};
int main()
{
C *c = new C;
B *b1 = dynamic_cast <B*>(c);
A *a2 = dynamic_cast <A*>(c);//这个地方你的好像不对
delete c;
a2 = NULL;
if (b1 == NULL)
{
cout <<"################" <<endl;
return 1;
}
else
{
cout <<"@@@@@@@@@@@@@@" <<endl;
return 0;
}
}
#include <iostream>
using namespace std;
class A
{
public:
~A(){cout <<"~A()";}
};
class B
{
public:
virtual ~B(){cout <<"~B()";}
};
class C:public A,public B
{
public:
~C(){cout <<"~C()";}
};
int main()
{
C *c = new C;
B *b1 = dynamic_cast <B*>(c);
A *a2 = dynamic_cast <A*>(c);
delete c;
a2 = NULL;
if (b1 == NULL)
{
cout <<"################" <<endl;
return 1;
}
else
{
cout <<"@@@@@@@@@@@@@@" <<endl;
return 0;
}
}