gpt4 book ai didi

c++ - 如何使用模板返回 char 值

转载 作者:行者123 更新时间:2023-11-28 00:21:27 24 4
gpt4 key购买 nike

我无法完全理解这些模板在 C++ 中的工作方式,我有一个驱动程序代码,我正在尝试为其编写头文件。我可以编译这段代码,它应该为第一个字符输出“a”,为第二个字符输出“d”。我在第一个和第二个字符的输出中得到一个无法识别的字母,如果有人能指出我在这个头文件中出错的地方。提前致谢。

头文件

template <class T>
class Pair
{
private:
T firstChar;
T secondChar;
public:
Pair(const T& , const T&);
T getFirst( );
T getSecond( );
};

template <class T>
Pair<T>::Pair(const T&, const T&)
{
firstChar;
secondChar;
}

template <class T>
T Pair<T>::getFirst ( )
{
return firstChar;
}

template <class T>
T Pair<T>::getSecond ( )
{
return secondChar;
}

驱动文件

#include <iostream>
#include "pair.h"
using namespace std;


int main()
{
Pair<char> letters('a', 'd');
cout << "\nThe first letter is: " << letters.getFirst();
cout << "\nThe second letter is: " << letters.getSecond();
cout << endl;
system("Pause");
return 0;
}

最佳答案

你的构造函数没有做任何有用的事情。您希望它使用其参数来初始化成员变量:

template <class T>
Pair<T>::Pair(const T& first, const T& second) :
firstChar(first),
secondChar(second)
{}

如果启用编译器警告,它应该告诉您语句 firstChar;secondChar; 什么都不做。

关于c++ - 如何使用模板返回 char 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com