Вы должны объявить функцию a()
как чисто виртуальный метод в классе Base
.
class Base {
int both() {
return a();
}
virtual int a()=0;
};
Затем реализовать метод a()
в классе Derived
class Derived : public Base {
int a(){/*some code here*/}
};
И, наконец, класс Problem
не видит метод both()
, поскольку он закрыт в Base
.Сделай это public
.
class Base {
public:
int both() {
return a();
}
};