俺不会?...............................................
class jz
{
int a[2][2];
public:
jz() {}
jz(int b[2][2])
{
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
a[i][j] = b[i][j];
}
void GetData(int c[2][2])
{
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
c[i][j] = a[i][j];
}
bool operator == (jz & k)
{
int c[2][2];
k.GetData(c);
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
if(a[i][j] != c[i][j])
return false;
return true;
}
};
void main()
{
int a[2][2] = {5,3,2,4};
jz k(a);
jz r(a);
if(k==r)
printf("OK");
}
用for循环遍历就好啦
bool check(int a[][],int b[][]){
bool flag = true;
int x=0,y=0;
for(;x<2&&y<2;x++,y++){
if(a[x][y]== b[x][y]){
continue;
}
else{
flag = false;
break;
}
}
return flag;
}
网上找一下运算符重载怎么写,矩阵==重载,就判断行和列是否相等,每个位置的元素是否相等
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632