C++:定义一个2*2矩阵类,重载运算符“==”,用来判断两个矩阵是否相同。

俺不会?...............................................

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