2 つの行列を合計して c++ で合計行列を返す + 演算子を再定義しようとしました。しかし、どういうわけか、常に0が表示されます。私は何が欠けていますか?これが私のコードです。また、私はこのコードを書きました。
#include <iostream>
using namespace std;
class matrix{
public:
int a[100][100], n;
matrix(int b[100][100], int n){
for(int i=0; i<n; i++){
for(int l=0; l<n; l++){
a[i][l]=b[i][l];
}
}
n=n;
}
matrix(){}
void matrix_input(int n){
for(int i=0; i<n; i++){
for(int l=0; l<n; l++){
cin >> a[i][l];
}
}
}
void matrix_print(int n){
for(int i=0; i<n; i++){
for(int l=0; l<n; l++){
cout << a[i][l] << " ";
}
cout << endl;
}
}
} ;
matrix operator + (matrix x, matrix y){
int s;
int n=x.n;
matrix sum;
for(int i=0; i<n; i++){
for(int l=0; l<n; l++){
sum.a[i][l]=y.a[i][l]+x.a[i][l];
}
}
return sum;
}
int main(){
int n;
cin >> n;
matrix o;
o.matrix_input(n);
matrix c;
c.matrix_input(n);
matrix sum;
sum=o+c;
sum.matrix_print(n);
return 0;
}