7. friend Array operator/(Array &a, Array&b);
};
Array::Array(int n)
{
start = 0;
end = n-1;
array = new int[n];
for (int i = 0; i < n; i++)
array[i] = i+1;
}
Array::Array(int n, int m)
{
start = n;
end = m-1;
array = new int[m-n];
for (int i = 0; i < m-n; i++)
array[i] = start + i;
}
int &Array::operator[](int index)
{
int element;
if (index >= start && index <= end)
{
element=array[index-start];
}
else
{
cout << "Error: Index out of bounds." << endl;
element=-1;
}
int &p=element;
return p;
}
Array &Array::operator=(Array a)
{
start = a.start;
8. end = a.end;
for(int i = 0; i < end - start; ++i)
{
array[i] = a.array[i];
}
return *this;
}
bool Array::operator==(Array &a)
{
for(int i = 0; i < end - start; ++i)
{
if(array[i] != a.array[i])
return false;
}
return true;
}
bool Array::operator!=(Array &a){
return *this == a;
}
ostream &operator<<(ostream &out, Array &b)
{
for(int i = 0; i < b.end - b.start; ++i)
{
out << "(" << i + b.start << ")" << b.array[i] << " ";
}
return out;
}
Array& operator+(Array &a, Array&b)
{
Array arr(a.end - a.start);
for(int i = 0; i < a.end - a.start; ++i)
{
arr.array[i] = a.array[i] + b.array[i];
}
Array &p=arr;
return p;