#include <iostream>

class base
{
public:
	virtual void print() { std::cout << "base"; }
};

class derived : public base
{
private:
	virtual void print() { std::cout << "derived"; }
};

int main()
{
	base * base_ptr = new derived();
	base_ptr->print();
	delete base_ptr;

	return 0;
}