好吧,所以我一直在做一个家庭作业项目,并找到一种方法让我完成作业并将其打开,但仍然困扰着我。如何在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