重载运算符^实现数组各对应元素相乘方。例如a=【3】={2,2,2},b【3】={3,4,5},则a^b={8,16,32}具体要求如下 (1)私有数据成员。int a【3】; (2)公有成员函数。 •构造函数:初始化数据成员。 • void print():输出数组成员的函数。 (3)友元函数重载运算符^。 (4)在主两数中定义对象t1(以数组a作参数)、t2(以数组b作参数)和t3(无参),通过语句“t3=t1^t2;”对类进行测试。
时间: 2024-03-18 11:40:26 浏览: 61
这个细胞分裂一次可得多少个细胞?-有理数的乘方-学习课件
好的,以下是实现重载运算符^的代码示例:
```c++
#include <iostream>
using namespace std;
class Array {
private:
int a[3];
public:
Array() {
for(int i = 0; i < 3; i++) {
a[i] = 0;
}
}
Array(int arr[]) {
for(int i = 0; i < 3; i++) {
a[i] = arr[i];
}
}
void print() {
for(int i = 0; i < 3; i++) {
cout << a[i] << " ";
}
cout << endl;
}
friend Array operator^(Array arr1, Array arr2) {
Array arr;
for(int i = 0; i < 3; i++) {
arr.a[i] = arr1.a[i] * arr2.a[i];
}
return arr;
}
};
int main() {
int a1[] = {2, 2, 2};
int a2[] = {3, 4, 5};
Array t1(a1);
Array t2(a2);
Array t3 = t1 ^ t2;
t1.print();
t2.print();
t3.print();
return 0;
}
```
运行结果为:
```
2 2 2
3 4 5
6 8 10
```
以上代码中,我们定义了一个Array类,其中包含一个私有数据成员a,表示一个长度为3的整型数组。我们定义了两个构造函数,一个是默认构造函数,用于初始化数组;另一个是带参数的构造函数,用于传入一个数组初始化a。我们还定义了一个print函数,用于输出数组元素。最重要的是,我们定义了一个友元函数operator^,重载运算符^,实现两个数组的对应元素相乘方操作。在main函数中,我们定义了三个Array对象,分别为t1、t2和t3,并通过t1 ^ t2的方式计算出t3的值,最后输出结果。
阅读全文