ファイルああと継承
#ifndef A_H_
#define A_H_
class A {
public:
virtual ~A();
virtual void doWork();
};
#endif
ファイル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
そしてChild.cpp
#include "Child.h"
Child::Child(){
x = 5;
}
Child::~Child(){...}
void Child::doWork(){...};
コンパイラは、未定義の参照があることを述べていますA
のvtableに変更します。 私はいろいろなことを試みましたが、まだ誰も働いていません。
私の目的は、クラスA
がインターフェイスであり、ヘッダーから実装コードを分離することです。
宣言したすべての非純粋仮想関数を定義する必要があります。宣言しても使用しない非仮想関数を定義する必要はありません。 –