У меня есть базовый класс abastract Employee с чистым виртуальным методом clone
virtual Employee* clone() const = 0;
Также у меня есть производный класс DeveloperEmployee, который переопределяет этот метод:
DeveloperEmployee* clone() const override {
return new DeveloperEmployee(this->description, this->project);
}
Теперь у меня есть эти строки в main:
DeveloperEmployee* a = new DeveloperEmployee(description, project);
DeveloperEmployee* a_copy = a->clone();
И я не могу изменить эти строки.Он говорит мне, что я не могу создать экземпляр абстрактного класса, так как я должен изменить код?
Если я изменяю переопределенный метод на
Employee* clone() const override {
return new DeveloperEmployee(this->description, this->project);
}
У меня есть проблема приведения в main, и я не могуизменить основной.