#include<iostream>
using namespace std;
class A{
public:
~A(){
cout<<111<<endl;
}
};
class B:public A{
public:
~B(){
cout<<222<<endl;
}
};
int main(){
A *a=new B();
delete a;
return 0;
}
结果是111
#include<iostream>
using namespace std;
class A{
public:
~A(){
cout<<111<<endl;
}
};
class B:public A{
public:
~B(){
cout<<222<<endl;
}
};
int main(){
B *a=new B();
delete a;
return 0;
}
结果是222
111
#include<iostream>
using namespace std;
class A{
public:
~A(){
cout<<111<<endl;
}
};
class B:public A{
public:
~B(){
cout<<222<<endl;
}
};
int main(){
A *a=new B();
B *b=(B*)a;
delete b;
return 0;
}
结果是222
111