Lab / Определения функций-элементов класса Array 3
.doc// Проверка равенства двух массивов
//и возвращение значения 1, если равны, и значения О,
// если не равны.
int Array::operator==(const Array &right) const
{
if (size != right.size)
return 0; // массивы разных размеров
for (int i = 0; i < size; i++)
if (ptr [i] !== right.ptr [i] )
return 0; // массивы не равны
return 1; // массивы равны
}
// Проверка неравенства двух массивов и возвращение значения 1, // если не равны, и значения 0, если равны,
int Array::operator!=(const Array &right) const
{
if (size != right.size)
return 1; // массивы разных размеров
for (int i = 0; i < size; i++) if (ptrt[i] !=right.ptr[i])
return 1; // массивы не равны
return 0; // массивы равны
}
// Перегруженная операция индексации int &Array::operator[](int subscript)
{
// проверка ошибочного выхода индекса из диапазона
assert(0 <= subscript && subscript < size);
return ptr[subscript]; // возвращение ссылки создает L-величину }
// Возвращение числа возникших объектов Array
int Array::getArrayCount( ) { return arrayCount; }
// Перегруженная операция ввода для класса Array;
// вводит значения всего массива
istream &operator>>(istream &input, Array &a)
{
for (int i = 0; i < a.size; i++)
input >> a.ptr[i];
return input; //позволяет cin >> x >> y;
}