C ++ Abstract Klasse: Konstruktor ja oder nein?

Eine Klasse mit einer (oder mehreren) virtuellen reinen Funktionen ist abstrakt und kann nicht zum Erstellen eines neuen Objekts verwendet werden. Sie verfügt daher nicht über einen Konstruktor.

Ich lese ein Buch mit dem folgenden Beispiel:

class Employee {
   public:
       Employee(const char*, const char*);
       ~Employee();
       const char* getFirstName() const;
       const char* getLastName() const;


       virtual double earnings() const=0  // pure virtual => abstract class
       virtual void print() const

  private:
       char* firstName, lastName;
};

Wenn die Klasse abstrakt ist, warum haben wir einen Konstruktor? Diese Klasse wird später verwendet (Boss ist öffentlich abgeleitet vonEmployee):

void Boss::Boss (const char* first, const char* last, double s)
     : Employee (first, last)

Antworten auf die Frage(8)

Ihre Antwort auf die Frage