Вы уже предложили возможный ответ, но давайте обсудим некоторые варианты:
1) Сделать базу по умолчанию конструируемой. Проще всего это сделать, предоставив аргументы по умолчанию:
explicit Employee(PensionPlan *pensionPlan = 0, const char * fullName = "");
(Обратите внимание, что мы говорим explicit
, чтобы избежать молчаливых преобразований из PensionPlan*
.)
2) Вызвать конструктор в базовом списке инициализатора конструктора производного класса:
EmployeeFake::EmployeFake() : Employee(0, "") { }
2a) Дайте EmployeeFake
соответствующий конструктор и передайте его:
EmployeeFake::EmployeeFake(PensionPlan *p) : Employee(p, "[fake]") { }
(Обратите внимание, что (1) является декларацией, а (2) и (2a) являются определениями.)