C++ Undefined Reference to vtable et de l'héritage

Fichier A. h

#ifndef A_H_
#define A_H_

class A {
public:
    virtual ~A();
    virtual void doWork();
};

#endif

Enfants De Fichier.h

#ifndef CHILD_H_
#define CHILD_H_

#include "A.h"

class Child: public A {
private:
    int x,y;
public:
    Child();
    ~Child();
    void doWork();
};
#endif

Et Child.cpp

#include "Child.h"

Child::Child(){
    x = 5;
}

Child::~Child(){...}

void Child::doWork(){...};

Le compilateur dit qu'il y a un undefined reference to vtable pour A.
J'ai essayé beaucoup de choses différentes et pourtant aucun n'a travaillé.

Mon objectif est de classe A à une Interface, et pour séparer la mise en œuvre du code à partir des en-têtes.

  • Vous devez définir tous les non-fonction virtuelle pure que vous déclarez. Vous n'avez pas besoin de définir une fonction non virtuelle que vous déclarez, mais ne l'utilisez pas.
InformationsquelleAutor rjmarques | 2012-02-23