c ++中的虚函数需要一个没有实现的实现就会出错

时间:2015-02-10 09:31:08

标签: c++ virtual-functions

#include <iostream>

using namespace std;

class A{
public:
  int a;
  virtual void fun();
};

int main(){A obj;}

获取错误未定义引用'vtable for A'。 我想知道为什么没有实现虚函数会给出这种类型的错误。

1 个答案:

答案 0 :(得分:2)

那是因为你声明了这个函数(无论是正常的成员函数还是虚函数),但是你没有在任何地方定义它。!!

您可以尝试这种方式,以便编译并运行正常。!

class A{ public:int a; virtual void fun(){}; };

int main(){ A obj; }