设计一个矩阵类Matrix,要求: (1)可以建立2行2列矩阵,支持无参数(创建单位阵)和给定参数创建特定矩阵。 (2)成员函数重载()运算符,可以输出矩阵内容。 (3)成员函数重载+运算符,实现矩阵相加,并支持连加
时间: 2024-03-20 21:43:15 浏览: 82
好的,以下是Matrix类的实现代码:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int data[2][2];
public:
// 构造函数,支持无参数(创建单位阵)和给定参数创建特定矩阵
Matrix(int a = 1, int b = 0, int c = 0, int d = 1) {
data[0][0] = a;
data[0][1] = b;
data[1][0] = c;
data[1][1] = d;
}
// 重载()运算符,输出矩阵内容
void operator()() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << data[i][j] << " ";
}
cout << endl;
}
}
// 重载+运算符,实现矩阵相加,支持连加
Matrix operator+(const Matrix& m) {
Matrix result;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
result.data[i][j] = this->data[i][j] + m.data[i][j];
}
}
return result;
}
};
```
使用方法如下:
```c++
int main() {
Matrix m1(1, 2, 3, 4);
Matrix m2(5, 6, 7, 8);
Matrix m3 = m1 + m2;
m3(); // 输出结果
return 0;
}
```
输出结果为:
```
6 8
10 12
```
其中m1和m2分别是两个2行2列的特定矩阵,m3是它们的和,通过重载()运算符可以输出矩阵内容。
阅读全文