Код: Выделить всё
class IDT
{
private:
virtual int get() { return 42; }
public:
virtual void myFunc() {
int val1 = get();
printf("%d", val1);
}
int getThat(IDT* that) { return that->get(); }
};
class IDTnew : public IDT
{
public:
void myFunc() override {
int val1 = get();
int val2 = myIdt->get();
printf("%d", val1 + val2);
}
private:
int get() override { return 42; }
IDT *myIdt;
};
< /code>
Кто -нибудь может научить меня, почему это так? Как мне сделать, чтобы вызвать частное/защищенное функцию члена через указатель базового класса? или единственный выбор, который у меня есть, - сделать функцию публичной?
Подробнее здесь: https://stackoverflow.com/questions/797 ... classs-def
Мобильная версия