У меня есть этот код для добавления двух матриц с использованием перегруженного оператора '+'.Но в моей программе есть какая-то ошибка.Но я не могу найти ни одного из них.Я должен получить две матрицы от пользователя и затем показать сумму этих двух матриц с помощью функции перегрузки C ++.У меня нет проблем с получением информации от пользователя и отображением каждой из этих матриц в отдельности.Но после вызова функции перегрузки код завершается ошибкой.Я не знаю, где на самом деле.
#include <iostream>
using namespace std;
class matrix
{
int r=0,c=0,i=0,j=0,e[10][10];
public:
matrix getMatrix()
{
cout<<"Enter the no. of rows of matrix:"<<endl;
cin>>r;
cout<<"Enter the no. of columns of matrix:"<<endl;
cin>>c;
cout<<"Enter the elements of the matrix:"<<endl;
for(i=0;i<r;i++)
{
for (j=0;j<c;j++)
{
cin>>e[i][j];
}
}
}
matrix operator +(matrix m)
{
matrix sumMatrix;
for(i=0; i<r; i++)
{
for (j=0; j<c; j++)
{
sumMatrix.e[i][j]=this->e[i][j]+m.e[i][j];
}
}
return sumMatrix;
}
void displayMatrix()
{
for(i=0; i<r; i++)
{
cout<<endl;
for (j=0; j<c; j++)
{
cout<<this->e[i][j]<<" ";
}
}
}
};
int main()
{
cout<<"NOTE: In order to add matrices, they must have same dimension."<<endl;
matrix m1,m2,m3;
cout<<"1st matrix:"<<endl;
m1.getMatrix();
m1.displayMatrix();cout<<endl;
cout<<"2nt matrix:"<<endl;
m2.getMatrix();
m2.displayMatrix();cout<<endl;
m3=m1+m2;
cout<<"The sum of the two matrices is:"<<endl;
m3.displayMatrix();
return 0;
}
Мой вывод здесь.