2 #include <sstream>
3 #include <cstring>
4 using namespace std;
5
6 class IntArray
7 {
8 enum { sz = 5 };
9 int i[sz];
10 public:
11 IntArray()
12 {
13 memset(i, 0, sz * sizeof(*i));
14 }
15 int& operator[](int x)
16 {
17 return i[x];
18 }
19 friend ostream& operator<<(ostream& os, const IntArray& ia);
20 friend istream& operator>>(istream& is, IntArray& ia);
21 };
22
23 ostream& operator<<(ostream& os, const IntArray& ia)
24 {
25 for(int j=0; j<ia.sz; j++)
26 {
27 os << ia.i[j];
28 if(j != ia.sz - 1)
29 {
30 os << ", ";
31 }
32 }
33 os << endl;
34 return os;
35 }
36
37 istream& operator>>(istream& is, IntArray& ia)
38 {
39 for(int j=0; j<ia.sz; j++)
40 {
41 is >> ia.i[j];
42 }
43
44 return is;
45 }
46
47 int main()
48 {
49 stringstream input("47 34 56 92 103");
50 IntArray I;
51 input >> I;
52 I[4] = -1;
53 cout << I;
54 }