錯誤使用C++語言virtual關鍵字導致編譯問題?

在C++類中定義了虛函數,但未對其進行實現,會導致一個編譯錯誤。

工具/原料

g++編譯器

錯誤使用virtual關鍵

class Factory

{

public:

virtual double Add(double a, double b); //未實現虛函數,導致編譯錯誤

};

class AddFactory:public Factory

{

public:

double Add(double a, double b) { return a+b; }

};

編譯上面的代碼會導致如下編譯錯誤:

undefined reference to `vtable for Facytory`

錯誤原因,因為沒有實現Factory中的虛函數Factory::Add

解決方法:

實現Factory::Add函數

double Factory::Add(double a, double b)

{

return 0;

}

相關問題答案