65,186
社区成员




#include <iostream>
using namespace std;
template <typename T>
class A
{
private:
T a;
public:
A(T a)
{
this->a = a; // 此处假定a是内置的数据类型,否则要为T提供assign operator
}
template <typename T>
friend ostream& operator << (ostream&, const A<T>&);
};
template <typename T>
ostream& operator << (ostream& os, const A<T>& c)
{
os << c.a; // 这里不用endl
return os;
}
int main(int argc, char** argv)
{
A<int> a(1);
A<double> b(2.1);
cout << a << " " << b << endl;
return 0;
}