Operator Overloading 2
- Bracket operator implemented in class scope
int& IntArray::operator [] (size_t i)
{
return *(data_ + i);
}
Output operator implemented outside of class scope
ostream& operator << (ostream& os, const IntArray& a)
{
for (size_t i = 0; i < a.Size() - 1; ++i)
os << a[i] << ' ';
os << a[a.Size() - 1] << '\n';
return os;
}