假设我有以下代码:
class Iinterface
{
virtual void abstractFunction()=0;
};
class Derived : public Iinterface
{
void abstractFunction(); // Do I need this line?
};
Derived::abstractFunction()
{
// implementation here
}
如果我不添加这行代码,编译错误会显示Derived
中未声明abstractFunction
。我使用的是VS 2008。我不确定为什么需要这条代码(请勿将此与在类声明之外提供的函数定义混淆),只要我从
Iinterface
继承,应该很明显我已经声明了abstractFunction
。这是Visual Studio的问题还是C++标准所强制的?