友元函数实现三行三列矩阵相加
时间: 2023-12-08 08:04:54 浏览: 156
运算符重载为友元函数-c++语言教程
好的,下面是实现三行三列矩阵相加的示例代码:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int data[3][3];
public:
Matrix() {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
data[i][j] = 0;
}
}
}
void setData() {
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cin >> data[i][j];
}
}
}
void display() {
cout << "矩阵的元素为:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << data[i][j] << " ";
}
cout << endl;
}
}
friend Matrix operator+(Matrix& m1, Matrix& m2) {
Matrix res;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
res.data[i][j] = m1.data[i][j] + m2.data[i][j];
}
}
return res;
}
};
int main() {
Matrix m1, m2;
m1.setData();
m2.setData();
Matrix res = m1 + m2;
res.display();
return 0;
}
```
在上述代码中,我们定义了一个 Matrix 类,其中包含了一个 3x3 的矩阵,同时定义了 setData() 函数用于输入矩阵的元素,display() 函数用于输出矩阵的元素。我们还定义了友元函数 operator+,实现了矩阵的相加操作。在主函数中,我们创建了两个矩阵 m1 和 m2,然后调用 setData() 函数分别输入两个矩阵的元素,最后调用 operator+ 函数实现矩阵相加操作,并将结果输出。
阅读全文