c++模板类实现二元组交换

【请使用C++的模板类来完成此问题】
编写一个模板Pair,用于存放任意类型的一对对象,定义构造函数Pair(T a, U b),成员函数T getFirst() const和U getSecond() const.接下来,请使用此模板类完成下列任务:
给定一系列的任意类型对象的二元组,请使用getSecond和getFirst方法交换其元组顺序输出。例如给定的二元组是(1, 3.14),请输出(3.14, 1).
注:所有二元组的类型只可能是下面三种中的一种:(int, double)、(int, string)、(double, string).
Input
仅包含一组测试样例。测试样例第一行是一个整数n(0 < n <= 100),代表二元组的数目。
接下来n行,每行描述一个二元组,格式如下:
TYPE1 TYPE2 VALUE1 VALUE2
其中TYPE1、VALUE1分别代表二元组第一个元素的类型和值,TYPE2、VALUE2分别代表二元组第二个元素的类型和值。TYPE1和TYPE2的取值只可能是“int”、“double”、“string”。VALUE保证不超过int或double的范围,保证字符串的长度不超过256且不包含空格。
Output
对于每一个二元组,在一行输出交换位置之后的结果,具体格式请仔细参照输入输出样例。
Sample Input
3
int string 1 cool
int double 3 3.14
double string 6.66 rikako
Sample Output
cool 1
3.14 3
rikako 6.66

小白 不会写这种的 求求大伙帮助一下

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^