用c++编写一个完整程序:4.有两个矩阵a和b,均为2行3列,求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加,如c=a+b。
时间: 2024-02-09 13:12:17 浏览: 58
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
class Matrix {
int mat[2][3]; // 矩阵的二维数组
public:
Matrix() {} // 默认构造函数
Matrix(int a[2][3]) { // 带参数构造函数,用于初始化矩阵
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
mat[i][j] = a[i][j];
}
}
}
Matrix operator+(Matrix b) { // 重载加号运算符
int temp[2][3];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
temp[i][j] = mat[i][j] + b.mat[i][j];
}
}
Matrix c(temp);
return c;
}
void display() { // 打印矩阵
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << mat[i][j] << " ";
}
cout << endl;
}
}
};
int main() {
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[2][3] = {{7, 8, 9}, {10, 11, 12}};
Matrix A(a), B(b), C;
C = A + B;
C.display();
return 0;
}
```
代码说明:
- 定义一个 `Matrix` 类,包含一个 2 行 3 列的二维数组 `mat`。
- 定义默认构造函数和带参数构造函数,用于初始化矩阵。
- 重载加号运算符 `+`,使之能用于矩阵相加,返回一个新的矩阵 `c`。
- 定义一个 `display()` 函数,用于打印矩阵。
- 在 `main()` 函数中,定义两个 2 行 3 列的矩阵 `A` 和 `B`,相加后赋值给矩阵 `C`,最后打印矩阵 `C`。
输出结果为:
```
8 10 12
14 16 18
```
即为两个矩阵之和。
阅读全文