C++ 为什么子类的私有成员函数可以从父类调用?
我希望他在下面的代码中给出一个错误,但是C++ 为什么子类的私有成员函数可以从父类调用?,c++,inheritance,access-modifiers,C++,Inheritance,Access Modifiers,我希望他在下面的代码中给出一个错误,但是 A如何能够访问私有成员、构造函数A和B的打印?尝试新建一个B类实例,它将编译错误 B B 您看到“Compiles ok”链接了吗?这是因为您没有实例化模板类。在强制为具有特定版本的T的生成代码之前,不能在中生成编译器错误。必须查看链接。它根本不编译。我们将研究标准。在编辑链接以创建B实例后,该链接会给出一个错误,如果没有该错误,编译将成功 class B; template<typename T> class A { privat
A如何能够访问私有成员、构造函数A和B的打印?尝试新建一个B类实例,它将编译错误 B B
您看到“Compiles ok”链接了吗?这是因为您没有实例化模板类。在强制为具有特定版本的T的生成代码之前,不能在中生成编译器错误。必须查看链接。它根本不编译。我们将研究标准。在编辑链接以创建B实例后,该链接会给出一个错误,如果没有该错误,编译将成功
class B;
template<typename T>
class A
{
private:
A()
{
T b;
b.print();
}
void print()
{
}
};
class B: public A<B>
{
};