求助!!!一道关于数组类及友元函数的C++编程题

2025-04-24 20:57:49
推荐回答(2个)
回答1:

#include

using namespace std;

class Array
{
private:
int array[10];
public:
Array(){}
~Array(){}

Array(int n)
{
for(int i=0;i!=10;i++)
{
array[i] = n;
}
}
void foreach() //将数组输出
{
for(int i=0;i!=10;i++)
{
cout< }
}
friend Array & operator+(Array &a1, Array &a2);
};

Array & operator+(Array &a1, Array &a2)
{
for(int i=0;i!=10;i++)
{
a1.array[i] = a1.array[i] + a2.array[i];
}
return a1;
}

int main()
{
Array a1 = Array(20);
Array a2 = Array(20);
a1 = a1+a2;
a1.foreach();
return 0;
}

满足你的主要要求,楼主可以自己再丰富优化下,大概思路就是这样了。

回答2:

#include
class Array
{
private:
int array[5];
public:
Array()
{
cout<<"请输入五个整数"< for(int i=0;i!=5;i++)
{

cin>>array[i];
}
}
void print()
{
for(int i=0;i!=5;i++)
{
cout< }
}
friend Array add(Array &a1, Array &a2);
};

Array add(Array &a1, Array &a2)
{
for(int i=0;i!=5;i++)
{
a1.array[i] = a1.array[i] + a2.array[i];
}
return a1;
}

int main()
{
Array a1;
Array a2;
add(a1,a2);
cout<<"两数组对应项相加得:"< a1.print();
return 0;
}
如果你想加的更多,可以改变数字。
提问者怎么不做回复,我做的不对吗?