#include <iostream>
using namespace std;


struct A{
   A(){cout<<"+A "<<this<<endl;}
   ~A(){cout<<"-A "<<this<<endl;}
   virtual void test(){}
};
struct B:A{
   B(){cout<<"+B "<<this<<endl;}
   ~B(){cout<<"-B "<<this<<endl;}
   virtual void test(){}
};

int main(){
   cout<<sizeof(A)<<" "<<sizeof(B)<<endl;
   {
      A *a=new B;
      delete a;
   }
}
