Класс с одной (или более) виртуальными чистыми функциями является абстрактным и не может использоваться для создания нового объекта, поэтому он не имеет конструктора.
Теперь я читаю книгу, которая делает следующий пример:
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;
};
Если класс абстрактный, у нас есть конструктор? Он использует этот класс позже (Boss является общедоступным из Employee):
void Boss::Boss (const char* first, const char* last, double s)
: Employee (first, last)
Я немного смущен... спасибо заранее