Template erben

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
derhandwerk
Beiträge: 7
Registriert: 28. Juli 2005 13:42

Template erben

Beitrag von derhandwerk »

Hallo zusammen,

ich kämpfe momentan mit den c++ templates und hänge nun an folgender Problematik:

Ich habe eine abstrakte Oberklasse:

Code: Alles auswählen

template <class D>
class Dao
{
public:
    Dao();

    virtual QLinkedList<D> findAll();
};
Und eine Unterklasse PlayerDao, die Dao spezialisieren soll:

Header

Code: Alles auswählen

class Playerdao : public Dao<PlayerDto>
{
public:
    Playerdao();

    QLinkedList<PlayerDto> findAll();
};
Implementierung

Code: Alles auswählen

Playerdao::Playerdao()
{
}

QLinkedList<PlayerDto> Playerdao::findAll() {
    QLinkedList<PlayerDto> copy;

    return copy;
}
Möchte ich dies hier kompiliere bekomme ich folgende Meldung:

Undefined symbols:
"Dao<PlayerDto>::Dao()", referenced from:
Playerdao::Playerdao()in playerdao.o
Playerdao::Playerdao()in playerdao.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Kann mir da jemand weiter helfen? :?:

Schonmal vorab vielen Dank für eure Mühe.

Gruß Wolf
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Oberklasse ist nicht abstrakt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
derhandwerk
Beiträge: 7
Registriert: 28. Juli 2005 13:42

Beitrag von derhandwerk »

Jetzt wo ich es mir ansehe, hast du vollkommen recht, der Konstruktur hat dann dort nichts zu suchen.

Jetzt kompiliert es aucht!

Hab Dank!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das ist ne abstrakte Klasse:

Code: Alles auswählen

template <class D>
class Dao
{
public:
    Dao() = 0;

    virtual QLinkedList<D> findAll() = 0;
}; 
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten