Ich habe ein Klassen-Setup und von dieser Klasse verwende ich Vererbung.C++ ungelöst externes Symbol
In Datei ah
class a
{
public:
virtual void print();
};
In Datei bh:
#include "a.h"
#include <iostream>
class b: public a
{
public:
void print();
};
Und in b.cpp
#include "a.h"
#include "b.h"
void b::print(){};
In der Hauptdatei ich beide bin auch diese Dateien:
#include "a.h"
#include "b.h"
Noch bekomme ich ein ungelöstes Symbol für die virtuelle Funktion drucken. Die Datei a.obj wird als die Datei angezeigt, die den Fehler erzeugt. Was mache ich falsch? Wenn ich b.cpp in b.h unterhalb der Klassendefinition verschiebe, funktioniert es gut.
Meine Vermutung, das ist es, obwohl die OP nicht wirklich genug Informationen zur Verfügung stellte sicher sein. –
Was bedeutet rein virtuell? –
Ah ich habe es. Ich musste am Ende der virtuellen Deklarationen = 0 hinzufügen. http://en.wikipedia.org/wiki/Virtual_function#C.2B.2B_2 für zukünftige Zuschauer. Vielen Dank. –