定义一个描述矩阵的类Array其数据成员为二维实型数组a[3][3],用Put()成员函数为[3][3]输入元素值,重载“+ ”运算符完成两个数组的加法运算。分别用成员函数与友元函数编写运 算符重载函数。用Print()成员函数输出a[3][3]的元素值。在主函数中用类Array定义对象a1、a2,a3,调用Put()函数为a1与a2的数据成员输入元素值,进行数组加法a3=a1+a2的运算,并输出对象a1,a2,a3的全部元素值
时间: 2023-12-30 17:06:05 浏览: 20
好的,我已经理解了您的问题。下面是代码实现:
```c++
#include<iostream>
using namespace std;
class Array
{
private:
double a[3][3];
public:
void Put(); // 输入元素值
void Print(); // 输出元素值
Array operator+(Array &arr); // 运算符重载函数
};
void Array::Put()
{
cout << "请输入9个元素值:" << endl;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
cin >> a[i][j];
}
void Array::Print()
{
cout << "数组元素值为:" << endl;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout << a[i][j] << " ";
cout << endl;
}
}
Array Array::operator+(Array &arr)
{
Array res;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
res.a[i][j] = a[i][j] + arr.a[i][j];
return res;
}
int main()
{
Array a1,a2,a3;
a1.Put();
a2.Put();
a3 = a1 + a2;
a1.Print();
a2.Print();
a3.Print();
return 0;
}
```
这里我们定义了一个描述矩阵的类`Array`,其中`a`是一个3*3的二维实型数组。我们实现了`Put()`函数用于输入元素值,`Print()`函数用于输出元素值,以及`operator+`函数用于重载加法运算符,实现两个数组的加法。在主函数中,我们定义了三个`Array`对象`a1`、`a2`、`a3`,分别调用`Put()`函数为`a1`和`a2`的数据成员输入元素值,对`a1`和`a2`进行数组加法运算,将结果赋给`a3`,最后分别输出三个对象的全部元素值。
希望能够帮助到您!