#include <iostream>
using namespace std;

struct a
{ 
	virtual void Test() const {std::cout << 'a';} 
	void CallProc() {Test();}
};
  
  
struct b : public a
{ 
	virtual void Test() const {std::cout << 'b';}
};

int main()
{
	b* NewB = new b(); 
	NewB->CallProc();
	delete NewB;
}