假设我有以下代码:
class Iinterface
{
virtual void abstractFunction()=0;
};
class Derived : public Iinterface
{
void abstractFunction(); // Do I need this line?
};
Derived::abstractFunction()
{
// implementation here
}
如果我不添加有问题的行,我会得到编译错误,它说abstractFunction
没有在Derived
. 我正在使用 VS 2008。
我不知道为什么我需要这个特定的行(不要将它与在类声明之外提供的函数定义混淆),只要我从Iinterface
它继承就应该很明显我已经abstractFunction
声明. 这是 Visual Studio 的问题还是由 C++ 标准强制执行?