#include<iostream>
#include<string>
using namespace std;
class a{
public:virtual void show(a&){cout<<"this is a"<<" "<<aa<<endl;}
string aa;
a():aa("a"){};
};
class b:public a{
public:void show(a&){cout<<"this is b"<<" "<<bb<<endl;}
string bb;
b():bb("b"){};
};
int main()
{
a* aa = new b;
aa->show(*aa);
}