Как изменять значения переменных другого класса в C++? В общем задача такова, есть 2 класса: класс массив и класс матрица. Класс массив - это класс, полем которого является одномерный массив, а класс матрица - класс, полем которого является одномерный массив обьектов типа массив. таким образом в классе матрица у нас поле будет двумерный массив. У меня возникла проблема, что я не могу менять значения элементов двумерного массива в классе матрица. Вот исходный код:#include
#include
#include
using namespace std;
class matrica;
class massiv
{
public:
int x[5];
massiv(){
for (int i = 0; i < 5; i++){
x[i] = rand() % 21 - 10;
cout << setw(4) << x[i];
}
cout << endl;
}
int operator [](int i)
{
return x[i];
}
friend matrica;
};
class matrica
{

public:
massiv y[5];
matrica(){
cout <

21 Авг 2019 в 07:04
266 +1
0
Ответы
1

Для изменения значений элементов двумерного массива в классе matrica вы можете создать метод в классе matrica, который будет принимать индексы элемента, которые вы хотите изменить, и новое значение для этого элемента. Вот пример кода, который объясняет это:

#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
class massiv
{
public:
int x[5];
massiv()
{
for (int i = 0; i < 5; i++)
{
x[i] = rand() % 21 - 10;
cout << setw(4) << x[i];
}
cout << endl;
}
int &operator[](int i)
{
return x[i];
}
};
class matrica
{
public:
massiv y[5];
matrica()
{
cout << y[0][0] << endl;
// Изменяем элемент двумерного массива
changeElement(0, 0, y[0][0] + 1);
cout << y[0][0] << endl;
}
int &operator[](int i)
{
return y[i][0];
}
void changeElement(int i, int j, int newValue)
{
y[i][j] = newValue;
}
};
int main()
{
srand(time(NULL));
matrica example;
system("pause");
return 0;
}

В этом коде был добавлен метод changeElement в класс matrica, который принимает индексы i и j элемента, который нужно изменить, а также новое значение newValue. Внутри этого метода происходит изменение значения элемента двумерного массива в классе matrica.

Теперь вы можете изменять значения конкретного элемента этого двумерного массива, вызывая метод changeElement из класса matrica.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир