【发布时间】:2017-04-22 22:38:59
【问题描述】:
代码不起作用,我不确定我哪里出错了,任何帮助将不胜感激这是作业的详细信息,通过为名为“Pair”的类编写模板来创建类模板。此类将表示在模板定义中参数化的类型的一对数据成员。例如,您可以有一对整数、一对双精度数等。
/* so I'm trying to implement this driver this is the driver.cpp file and
* I'm trying to do it with a template class */
int main()
{
Pair<char> letters('a', 'd');
cout << "\nThe first letter is: " << letters.getFirst();
cout << "\nThe second letter is: " << letters.getSecond();
cout << endl;
cin.get();
}
//this is my .h file code
template <class T>
class Pair
{
private:
T first;
T second;
public:
Pair(const T, const T);
T getFirst();
T getSecond();
};
//this is my Pair.cpp
#include "Pair.h"
template<class T>
Pair<T>::Pair(const T first, const T second)
{
return first, second;
}
template<class T>
inline T Pair<T>::getFirst()
{
return first;
}
template<class T>
inline T Pair<T>::getSecond()
{
return second;
}
【问题讨论】:
-
构造函数不应该返回值,而是将成员变量设置为参数值。当你使用相同的名字时有点棘手......
-
代码不工作并没有解释太多。您是否在编译时、运行时看到问题?问题的本质是什么?如果存在编译时问题,则从编译器发布消息。如果存在运行时问题,请发布输出。
-
离题:推荐阅读Why include guards?
-
我收到三个错误,说明外部符号无法解析