#ifdef __DMC__
#include <iostream.h>
#else
#include <iostream>
using std::cout;
using std::endl;
#endif

template <class T>
class Base
{
protected:
	typename T::privIC * priv;
public:
	virtual int f1() =0;
	virtual int f2() =0;
};

class A : public Base<A>
{
public:
	class privIC
	{
		int i;
	};
	int f1();
	int f2();
};

int A::f1()
{
	return 0;
}

int A::f2()
{
	return 0;
}

int main()
{
	A a;
	cout << a.f2() << endl;
}
