注册 登录
编程论坛 C++ Builder

哪位仁兄帮忙看看,哪里出错了

niitzz 发布于 2011-10-17 19:58, 896 次点击

class array
{
public:
    array(){}
    void setdata();
    friend array operator+(array &a1,array &a2);
    //friend ostream &operator<<(ostream &,array &);
private:
   int a[2][3];
};

 void array::setdata()
{
    int a[2][3];
    for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
            cin>>a[i][j];
}

array operator+(array &a1,array &a2)
{
    int x[2][3];
    for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
         //int x[i][j]=a1.a[i][j]+a2.a[i][j];
        return int (a1.a[i][j]+a2.a[i][j]);
            //return int x[0][0];
           
}

/*
ostream &operator<<(output & out,array &c2)
{
     for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
            out<<c2[i][j];
        return out;
}
*/


void main()
{
  array a,b,c;
  a.setdata();
  b.setdata();
  //cout<<a+b;
}

5 回复
#2
乔哥2011-10-25 17:10
看不出来
#3
wo8413241992011-12-08 21:41
题意是实现两个二维数组的想加吗?要用重载运算符实现是吧!
#4
winone2011-12-22 21:35
友元函数实用的正确吗
#5
lxqlyld2012-06-27 16:47
三处错误:1、cin>>a[i][j];cin未定义;2、return int (a1.a[i][j]+a2.a[i][j]);返回值语法错误;3、 //return int x[0][0];后缺返回值
#6
zhao_meng2012-07-19 00:30
void array::setdata()
{
    int a[2][3];
    for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
            cin>>a[i][j];
}
这是在干吗?应该不能在定义a【】【】了吧,注意作用域!
1