C++ C++;:如何从封闭类继承
我想让一个类从其封闭的类继承,如:C++ C++;:如何从封闭类继承,c++,C++,我想让一个类从其封闭的类继承,如: class A : public A::B { public: class B {}; }; 但是,未定义A::B的编译器: error: expected class-name before '{' token class A : public A::B { 也就是说,在A的定义完成之前,A::B将不可用 我已经试着在前面加上一句话 class A; class A::B; 但这没用。我如何才能正确地声明和定义它 注意:本质上,我试图做的是相
class A : public A::B {
public:
class B {};
};
但是,未定义A::B
的编译器:
error: expected class-name before '{' token
class A : public A::B {
也就是说,在A
的定义完成之前,A::B
将不可用
我已经试着在前面加上一句话
class A;
class A::B;
但这没用。我如何才能正确地声明和定义它
注意:本质上,我试图做的是相反的。这是不可能的,没有定义外部类就无法声明内部类。这是不可能的,没有定义外部类就无法声明内部类。在指定继承的地方,内部类还不知道。所以你不能这么做。但是,如果要限制范围,则只需使用名称空间,例如,在指定继承的位置将其称为
detail
或implementation
,内部类还不知道。所以你不能这么做。但如果重点是限制范围,则只需使用名称空间,例如,将其称为detail
或implementation