// Включаемый файл для потокового ввода/вывода
#include <iostream.h>

// Абстрактный класс Abstract
class	Abstract 
{
public:
	// Чисто виртуальный метод, не имеет определения
	virtual int	PureFunc(void) = 0;
	void	SetValue(int i) {iValue = i;}
	int	iValue;
};

// Класс Fact
class	Fact : public Abstract
{
public:
	int	PureFunc(void) {return iValue * iValue;}
};

// Главная функция программы
void main(void)
{
   Fact     objFact;
   objFact.SetValue(12);
   
   cout << objFact.PureFunc() << "\n";
}
