template<class T>
class A
{
public:
friend T;
private:
A() {}
~A() {}
};
class B:virtual public A<B>
{
public:
B() {}
~B() {}
};
class C :public B
{
public:
C() {} // 报错,A<T>::A(T = B)不可访问
~C() {}
};
template<class T>
class A
{
public:
friend T;
private:
A() {}
~A() {}
};
class B:virtual public A<B>
{
public:
B() {}
~B() {}
};
class C :public B
{
public:
C() {} // 报错,A<T>::A(T = B)不可访问
~C() {}
};