定义子类(c ++)

时间:2018-05-17 13:50:21

标签: c++ subclass

我想定义一个类'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;
}

1 个答案:

答案 0 :(得分:0)

在C ++中不允许引用A::bar中的A::B::foo。 据我所知,它将在Java中被允许