| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:请教一下!我的这个简单程序错在哪里了?
只看楼主 加入收藏
xianen20
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-12-30
收藏
 问题点数:0 回复次数:4 
请教一下!我的这个简单程序错在哪里了?

题目:编一个程序,用成员函数重载运算符"+"和"-",将两个二维数组相加和相减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值有键盘输入.
我的程序是这样的:
#include "stdafx.h"
#include<iostream.h>


class HUN{
public:
int hun[2][3];
void set_hun();
 void input();
void display();
HUN operator+(HUN c);
HUN operator-(HUN c);
private:
int hun1[2][3];

};
void HUN::set_hun()
{
hun[0][1]=16; hun[0][2]=15; hun[0][3]=14;
hun[1][1]=13; hun[1][2]=12; hun[1][3]=11;
}
void HUN::input()
{
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{ cin>>hun[i][j];
}
}
void HUN::display()
{
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{ cout<<hun[i][j]<<" "<<endl;
}
}

HUN HUN::operator+(HUN c)
{
int i,j;
HUN a;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
a.hun[i][j]=hun[i][j]+c.hun1[i][j];
return a;
}
}
HUN HUN::operator-(HUN c)
{
int i,j;
HUN a;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
a.hun[i][j]=hun[i][j]-c.hun1[i][j];
return a;
}
}
int main()
{
HUN A,B,C,D;
A.hun[2][3];
B.input();
A.display();
B.display();
C.display();
D.display();
return 0;
}

当我运行的时候,输入六个1时,运行的结果是变成这样了,
-858993640
-858993640
-858993640
-858993640
-858993640
-858993640






-858993640
-858993640
-858993640
-858993640
-858993640
-858993640
请问错在哪里了?

搜索更多相关主题的帖子: include public 键盘 
2005-12-31 11:55
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

数组的赋值有问题 还有成员函数定义时有点马虎
这样应该可以了

#include<iostream>
using namespace std;

class HUN
{
int hun[2][3];
public:
void display();
void input();
HUN()
{
hun[0][0]=16; hun[0][1]=15; hun[0][2]=14;
hun[1][0]=13; hun[1][1]=12; hun[1][2]=11;

}

HUN operator+(HUN c)
{
HUN a;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
{
a.hun[i][j]=hun[i][j]+c.hun[i][j];
}
return a;
}
HUN operator-(HUN c)
{
HUN a;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
{
a.hun[i][j]=hun[i][j]-c.hun[i][j];
}
return a;
}

};
void HUN::input()
{
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{ cin>>hun[i][j];
}
}
void HUN::display()
{
int i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
{
cout<<hun[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}


void main()
{
HUN A,B,C,D;
A.display();
B.input();
B.display();
C=A+B;
D=A-B;
C.display();
D.display();
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-12-31 12:58
dlcdavid
Rank: 3Rank: 3
来 自:成都
等 级:新手上路
威 望:6
帖 子:193
专家分:0
注 册:2005-12-23
收藏
得分:0 
马上要上学咯,,没时间看咯,,晚上仔细看看

为了C++,我放弃了课本
为了高考,我又放弃了C++
现在而今眼目下,我能做什么?www.
2005-12-31 12:58
xianen20
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-12-30
收藏
得分:0 

可以了谢谢楼上的.修改.感激不尽!

2005-12-31 13:08
dlcdavid
Rank: 3Rank: 3
来 自:成都
等 级:新手上路
威 望:6
帖 子:193
专家分:0
注 册:2005-12-23
收藏
得分:0 
呵呵呵 我和2楼的一起发出来,,,哈哈哈,,,,,,
建议你用标准的,,,,,,
#include<iostream>
using namespace std;

为了C++,我放弃了课本
为了高考,我又放弃了C++
现在而今眼目下,我能做什么?www.
2005-12-31 16:15
快速回复:请教一下!我的这个简单程序错在哪里了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040427 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved