не может выделить объект абстрактного типа
Это показывает, что вы не выполнили все чистыеvirtual
функции в производном классе. Итак, сначала реализуйте все чистые виртуальные функции, затем создайте экземпляр этого класса.
Вы не можете создавать экземпляры класса, в котором есть только одна virtual
!
Помните, что чистые виртуальные функции являются те, которые назначаются с нуля, так как
class sample
{
public:
virtual void f(); //virtual function
virtual void g()=0; //pure virtual function
};
Вот только g()
чисто виртуальная функция! Это делает sample
abstract class, и если производный класс не определяет g()
, он также станет абстрактным классом. Вы не можете создать экземпляр любого из этих классов, так как оба они абстрактны!
... это не было переопределено в каком-либо производном классе. –
Спасибо, @ Наваз. работал отлично. – CHID