Возвращение массива по ссылке 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");
}
Вывод программы

