#include <iostream>
#include <string>
using namespace std;
template <class T1, class T2>
class Pair
{
private:
T1 key;
T2 value;
public:
Pair(T1 k, T2 v) :key(k), value(v) { };
bool operator < (const Pair<T1, T2>& p) const;
template <class T3, class T4>
friend
ostream& operator<< (ostream& o, const Pair<T3, T4>& p);
};
template<class T1, class T2>
bool Pair<T1, T2>::operator < (const Pair<T1, T2>& p) const
{
return key < p.key;
}
template <class T1, class T2>
ostream& operator<< (ostream& o, const Pair<T1, T2>& p)
{
Pair<int, double> obj(12, 3.14);
o << "(" << p.key << "," << p.value << ")";
return o;
}
int main()
{
Pair<string, int> student("Tom", 29), student_2("jack", 30);
Pair<int, double> obj(12, 3.14);
cout << student << endl << obj << endl;
cout << "输出键(key)最小的那个元组" << endl << (student < student_2 ? student : student_2) << endl;
return 0;
}
转载请注明原文地址:https://blackberry.8miu.com/read-42332.html