Ich habe ein Problem, wo Dialin, die abgeleitete Klasse ist abstrakt. Ich bin nicht sicher, warum, da die einzige virtuelle Funktion, die ich habe, die gleichen Parameter und die gleichen Rückgabetypen hat. Nach dem, was ich gelesen habe, ist das die einzige Einschränkung, aber anscheinend liege ich falsch.C++ Abgeleitete Klasse ist abstrakter Fehler
Hier ist mein Code:
Rubrik:
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;
};
Quelle:
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) {
}
Zu einer anderen Notiz, Sie haben '~ Event' nicht als' virtual' deklariert, was normalerweise eine schlechte Sache ist. –
Oh ja, danke dafür. Daran erinnere ich mich aus meinem Vortrag. – dajee
Kompiliert für mich mit gcc 4.4.3 unter Linux. Es gibt 3 Warnungen, aber keine davon in Bezug auf diese reine virtuelle Funktion. – dbv