Witam, Czy możecie mi powidzieć dlaczego nie działa mi wywołanie funkcji wirtualnej w konstruktorze w klasie bazowej, która to jest zdefiniowana w klasie pochodnej? Jeżeli klasa ma funkcje wirtualną to wywołuje implementacje klasy bazowej a gdy to jest funkcja czysto wirtualna to jest błąd kompilacji.
Oto kodzik:
#include <cstdio>
class CBazowa {
public:
CBazowa() {
this->move();
}
void virtual move() = 0;
};
class CPochodna: public CBazowa {
public:
virtual void move() override {
printf("Pushdown");
}
};
int main()
{
CPochodna * pBase = new CPochodna();
delete pBase;
return 0;
}