C ++ Klasa abstrakcyjna: konstruktor tak lub nie?

Klasa z jedną (lub większą liczbą) wirtualnych funkcji czystych jest abstrakcyjna i nie można jej użyć do utworzenia nowego obiektu, więc nie ma konstruktora.

Czytam książkę, która zawiera następujący przykład:

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;
};

Jeśli klasa jest abstrakcyjna, dlaczego mamy konstruktora? Używa tej klasy później (Boss pochodzi z publicznychEmployee):

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

questionAnswers(8)

yourAnswerToTheQuestion