你只有类声明,没有类定义,所以在连接的时候报无法找到符号的错误。把你头文件中的类声明修改成如下包含了定义的形式即可。仅仅是修改成了定义形式,具体如何实现,还需要你自己去把握,修改成如下形式就可以编译成功了,不过程序本身肯定逻辑是错误的。需要你根据情况进一步修改:
#ifndef PROPERTY_HPP
#define PROPERTY_HPP
#include
using namespace std;
template
class Property
{
private:
Name nam;
Type con;
public:
// Constructors and destructor
Property()
{
}
Property(const Name& name)
{
}
Property(const Name& name, const Type& t)
{
}
Property(const Property
{
}
virtual ~Property()
{
}
};
#endif // PROPERTY_HPP
模板定义的函数或者类,并非实体
需要将模板参数带入后才是真正意义上的类或者函数
编译器大多不支持分离编译,即定义的模板类与 调用它的代码放在不同文件
解决方式: 将h文件中的代码拷至cpp文件中即可