17.重载运算符“^”实现数组各对应元素相乘方。如:a[3]={2,2,2},b[3]={3,3,3},则a^b={8,
8,8}。具体要求如下:(1)私有数据成员: int a[3];
(2)公有成员函数:
构造函数:初始化数据成员;重载运算符“^”的友元函数:
void print():输出数组成员的函数;
(3)在主函数中定义对象t1(以数组a作参数)、t2(以数组b作参数)和t3(无参),通过语句“t3=t1^t2;’
对类进行测.
#include<iostream>
using namespace std;
#include<math.h>
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++)
{
this->a[i] = arr[i];
}
}
Array operator ^(Array & ar)
{
Array arra;
for (int i = 0; i < 3; i++)
{
arra.a[i] = pow(this->a[i], ar.a[i]);
}
return arra;
}
void print()
{
for (int i = 0; i < 3; i++)
{
cout << this->a[i] << "\t";
}
cout << endl;
}
};
int main()
{
int arr[3] = { 1,2,3 }; int arr2[3] = { 2,3,4 };
Array A(arr);
A.print();
Array B(arr2);
B.print();
Array C;
C = A ^ B;
C.print();
system("pause");
}