我是新来的继承/抽象类/多态性。为了记录,我以前可以使用抽象类中的派生对象编译和运行程序,但由于某种原因,我现在无法这样做。C++纯虚函数接收错误,“变量或字段'x'声明为void”
这里是纯虚函数,抽象基类 声明 'AerialVehicle.h' 内:
virtual void fly = 0; //error: variable or field 'fly' declared void
现在这里是派生类 “TF18.h”
void TF18::fly()
{
cout << "\n\t--Flying--\n"
<< getName() << " is flying...\n"
<< "Wingspan: " << getWingspan() << "\n"
<< "Max Altitude: " << getMaxAlt() << "\n"
<< "Seats: " << getSeats() << "\n"
<< "Engines: " << getEngines() << "\n";
}
这程序只是更清楚地理解概念的手段。我没有向TF18添加任何其他成员函数。这令我感到困惑,因为到目前为止,我已经能够以这种风格创建节目。纯虚函数是否绝对需要返回值?
我正在使用CodeBlocks w/GNU GCC编译器。在我的头我已经试过其他的编译器,以及,甚至复制/粘贴代码奥威尔DEVC++使用各种编译器,但无济于事:(
最后,我使用IFNDEF /定义/ ENDIF。
如果'fly'应该是一个函数,它必须是'飞()'。 – PlasmaHH