我想定义一个类'A'的子类'B',所以我可以使用主类的子类调用具有相同名称的不同函数。 “B”实际上不需要存储除功能之外的任何东西。
我收到以下错误:
for (Component myComps : compPanel.getComponents()){
myComps.setEnabled(false);
}
我理解这是因为B类对A中的变量一无所知,除非它给出了A的实例。我如何在下面的代码中这样做,以便B知道A的变量?
CODE:
A.H:
error: use of non-static data member 'bar' of 'A' from nested type 'B'
bar = 2;
A.cpp
class A{
public:
int foo();
class B{
public:
int foo();
}
private:
int bar;
}
主程序:
A::A(){
bar = 1;
}
A::foo(){
return bar;
}
A::B::foo(){
bar = 2;
return bar;
}
答案 0 :(得分:0)
在C ++中不允许引用A::bar
中的A::B::foo
。
据我所知,它将在Java中被允许