【问题描述】
编写一个类模板Pair<T,U>,用于存放任意类型的一对对象,定义构造函数Pair(T a, U b),成员函数T getFirst() const和U getSecond() const.接下来,请使用此类模板完成下列任务:
给定一系列的任意类型对象的二元组,请使用getSecond和getFirst方法输出交换其元组顺序后的值。例如给定的二元组是(1, 3.14),请输出(3.14, 1).
#include <iostream>
#include <string>
using namespace std;
template<typename T, typename U>
class Pair {
public:
Pair(T a, U b) : first(a), second(b) {}
T getFirst() const {
return first;
}
U getSecond() const {
return second;
}
private:
T first;
U second;
};
int main() {
Pair<int, double> p1(1, 3.5);
Pair<int, string> p2(10, "Hello world!");
Pair<double, string> p3(98.5, "C++");
cout << "Pair-1: (" << p1.getFirst() << ", " << p1.getSecond() << ")" << endl;
cout << "Swapped: (" << p1.getSecond() << ", " << p1.getFirst() << ")" << endl;
cout << "Pair-2: (" << p2.getFirst() << ", " << p2.getSecond() << ")" << endl;
cout << "Swapped: (" << p2.getSecond() << ", " << p2.getFirst() << ")" << endl;
cout << "Pair-3: (" << p3.getFirst() << ", " << p3.getSecond() << ")" << endl;
cout << "Swapped: (" << p3.getSecond() << ", " << p3.getFirst() << ")" << endl;
return 0;
}