Возвращение массива по ссылке C++ ООП

Возвращение массива по ссылке C++

 
#include <iostream>
using namespace std;

const int sizes = 10;

class Massiv {
private:
    int mas[sizes];
public:
    // возвращение массива по ссылке 
    int& fmassiv(int N) {
        if(N<0 || N>=sizes)
        {
            cout << "Error" << endl;
            exit(1);
        }
        return mas[N];
    }
    // возвращение массива по ссылке с перегруженной операцией []
    int& operator[](int N) {
        if (N < 0 || N >= sizes)
        {
            cout << "Error" << endl;
            exit(1);
        }
        return mas[N];
    }
};

void main()
{
    setlocale(LC_ALL, "Rus");
    Massiv obj;
    for (int i = 0; i < sizes; i++) {
        obj.fmassiv(i) = i*2;
    }

    for (int i = 0; i < sizes; i++) {
        int rez=obj.fmassiv(i);
        cout << rez <<" ";
    }
    cout << endl;

    Massiv obj1;
    for (int i = 0; i < sizes; i++) {
        obj1[i] = i * 3;
    }

    for (int i = 0; i < sizes; i++) {
        int rez = obj1[i];
        cout << rez << " ";
    }
    cout << endl;

    system("pause");
}

Вывод программы
Возвращение массива по ссылке C++

388

Leave a Reply

Ваш адрес email не будет опубликован.