Как я могу вызвать переопределенную функцию в производном классе?

В общем у меня есть два класса

class A{
public:
   virtual void foo(int a){};
   void foo(int a, int b){}:
};

class B: public A {
public:
   void foo(int a){};

   static B member;
};

Могу ли я как то вызвать функцию foo() у объкта класса B? Я пытаюсь вызвать вот так

B::member.foo(2);

компилятор выдает ошибку, что функции с такими параметрами нет


Ответы (1 шт):

Автор решения: Harry

Вам надо его открыть - у вас функция private, которую вызвать вне класса нельзя.

class B: public A {
public:
   void foo(int a){};

   static B member;
};

вас спасет. См. https://ideone.com/bYhJWF

→ Ссылка