我想在类文件中实现模板,而不是实现同一文件中的所有代码。但问题是我有一个链接错误,我不知道该怎么办才能解决它?如果您有任何想法,以帮助它优雅。
Main.cpp
#include <iostream>
#include <string>
#include "Myclass.h"
using namespace std;
int main()
{
Myclass<int> firstObject;
firstObject.setValue(2);
int nbr = firstObject.getValue();
system("PAUSE");
return 0;
}
Myclass.cpp
#include "Myclass.h"
template <class Temp>
Myclass<Temp>::Myclass()
{
}
template <class Temp>
void Myclass<Temp>::setValue(Temp a)
{
first = a;
}
template <class Temp>
Temp Myclass<Temp>::getValue()
{
return first;
}
Myclass.h
#pragma once
template <class Temp>
class Myclass
{
public:
Myclass();
void setValue(Temp a);
Temp getValue();
private:
Temp first;
};