C ++ Abstract Class: construtor sim ou não?

Uma classe com uma (ou mais) funções virtuais puras é abstrata, e não pode ser usada para criar um novo objeto, por isso não tem um construtor.

Eu estou lendo um livro que fornece o seguinte exemplo:

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

Se a classe é abstrata porque nós temos um construtor? Ele usa essa classe mais tarde (Boss é público derivado deEmployee):

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

questionAnswers(8)

yourAnswerToTheQuestion