pliku AhC++ niezdefiniowana odniesienia do vtable i dziedziczenie
#ifndef A_H_
#define A_H_
class A {
public:
virtual ~A();
virtual void doWork();
};
#endif
pliku Child.h
#ifndef CHILD_H_
#define CHILD_H_
#include "A.h"
class Child: public A {
private:
int x,y;
public:
Child();
~Child();
void doWork();
};
#endif
I Child.cpp
#include "Child.h"
Child::Child(){
x = 5;
}
Child::~Child(){...}
void Child::doWork(){...};
Kompilator mówi, że tam jest niezdefiniowana odniesienia do vtable dla A
. Próbowałem wielu różnych rzeczy, ale żaden z nich nie zadziałał.
Moim celem jest, aby klasa A
była interfejsem, a także oddzielny kod implementacyjny od nagłówków.
Należy zdefiniować każdą zadeklarowaną nie-czystą funkcję wirtualną. Nie musisz definiować deklarowanej funkcji innej niż wirtualna, ale jej nie używasz. –