好吧,所以我一直在做一個家庭作業項目,並找到一種方法讓我完成作業並將其打開,但仍然困擾着我。如何在C++中的類定義之外重載一個構造函數
我有一個動態分配一些其他類和派生類的基類。
//header
class Base
{
Private:
Type *type_ptr;
Public:
Base();
Base(Type &new_type);
//getters and setters
}
class Derived : public Base
{
Private:
Type2 *type2_ptr;
Public:
Derived();
Derived(Type, Type2) : Base(Type);
}
我想搞清楚的是這應該是什麼樣子,我.cpp文件,而不是在網上像這樣做,
Derived(Type new_type, Type2 new_type2): Base(new_type){
type2_ptr = new Type2(new_type2);
};
編輯:如果我嘗試類似的以上我的.cpp,我得到象這樣的錯誤,總是他們兩個太...
undefined reference to `vtable for Derived'
undefined reference to `vtable for Derived'
可能的重複[這是什麼原因的C++模板代碼的錯誤?](http://stackoverflow.com/questions/5288696/whats-the-cause-of-the-error-with-this-c - 模板代碼) – Nawaz 2011-03-17 06:14:45
好像我正在看一個完全不同的錯誤,它編譯得很好,但不會鏈接。 – TicViking 2011-03-17 06:25:03
如果沒有可編譯的代碼,很難診斷出這些錯誤。你可以發佈一個*最小*但完整的代碼樣本,重現錯誤? – 2011-03-17 08:30:38