派生クラスDialinが抽象クラスであるところに問題があります。なぜ私は唯一の仮想関数は同じパラメータと同じ戻り値の型を持っているので、私はなぜわからない。私が読んだことから、それは唯一の制限ですが、明らかに私は間違っています。C++の派生クラスは抽象的なエラーです
ここに私のコードです:
ヘッダー:
class Event{
class ModemSimV2;
public:
Event();
Event(const Event &e);
~Event();
virtual void process(ModemSimV2 &m) = 0;
protected:
int who; // the number of the user
int time; // when the event will occur
int what; // DIAL_IN or HANGUP
};
class Dialin : public Event{
class ModemSimV2;
public:
Dialin(int name = 0, int tm = 0);
Dialin(const Dialin &d);
~Dialin();
virtual void process(ModemSimV2 &m);
private:
int who;
int time;
int what;
};
出典:
Event::Event(){
}
Event::Event(const Event &e) {
*this = e;
}
Event::~Event() {
}
Dialin::Dialin (int name, int tm)
: time(tm), who(name) {
return;
}
Dialin::Dialin (const Dialin &d) {
*this = d;
}
Dialin::~Dialin() {
}
void Dialin::process(ModemSimV2 &m) {
}
「〜イベント」を「仮想」と宣言していないのは、通常は悪いことです。 –
ああ、ありがとう。私は今私の講義からそれを覚えています。 – dajee
Linuxでgcc 4.4.3を使って私のためにコンパイルします。 3つの警告がありますが、その純粋な仮想機能に関してはどれもありません。 – dbv