抽象类的继承

CHI*_*HID 1 c++ inheritance

我有一个抽象的基类.我从抽象基础继承了一个新类,我无法实例化一个对象.编译器告诉的原因是

cannot allocate an object of abstract type

有没有办法克服这个问题.

Naw*_*waz 10

无法分配抽象类型的对象

这表明您尚未在派生类中实现所有 virtual函数.首先,实现所有纯虚函数,然后创建此类的实例.

你不能创建甚至只有一个 virtual函数的类的实例!

请记住,虚函数是那些被赋值为零的函数(C++ Virtual/Pure Virtual Explained),如

class sample
{
public:
     virtual void f(); //virtual function
     virtual void g()=0; //pure virtual function
};
Run Code Online (Sandbox Code Playgroud)

这里只有g()纯虚函数!这使得sample一个抽象类,如果派生类没有定义g(),它也将成为一个抽象类.你不能创建任何这些类的实例,因为它们都是抽象的!