64,649
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
class A
{
friend ostream& operator<<(ostream& out, const A& v);
template<int n> friend ostream& operator<<(ostream& out, const A (&v)[n]);
public:
A(int n = 0):val(n){}
private:
int val;
};
ostream& operator<<(ostream& out, const A& v)
{
out << v.val;
return out;
}
template<int n>
ostream& operator<<(ostream& out, const A (&v)[n])
{
for(int i = 0; i != n; ++i)
out << v[i];
return out;
}
int main()
{
A a(2);
cout << a << endl;
A a3[3] = {1, 2, 3};
cout << a3 << endl;
A a5[5] = {1, 2, 3, 4, 5};
cout << a5 << endl;
return 0;
}