#include<iostream>
#include<string.h>
using namespace std;
class KB
{
private:
int *s;//储存整数数组
int len;//数组长度
public:
KB(int *ss,int le)
{
len=le;
s=new int[len];//给数组指针开辟空间
for(int i=0;i<len;i++)
s[i]=ss[i];//指针与数组的通用性
}
int operator==(int m)
{
for(int i=0;i<len;i++)
if(m==s[i])
return 1;
return 0;
}
friend int operator==(KB &s1,KB &s2)
{
if(s1.len!=s2.len)//集合相等,元素个数必须相同
return 0;
for(int i=0;i<s1.len;i++)
if(!(s2.operator==(s1.s[i])))//注意细节
return 0;
return 1;
}
void print()
{
for(int i=0;i<len;i++)
cout<<s[i]<<'\t';
cout<<endl;
}
};
int main()
{
int a[]={1,2,3,4,5};
int b[]={1,2,3,4,5};
int c[]={1,2,3,4,5,6};
int d[]={1,3,5,7,9};
KB zk1(a,5),zk2(b,5),zk3(c,6),zk4(d,5);
if(zk1==zk2)
cout<<"a,b这两个集合相等。";
else
cout<<"a,b这两个集合不相等。";
cout<<endl;
if(zk1==zk3)
cout<<"a,c这两个集合相等。";
else
cout<<"a,c这两个集合不相等。";
cout<<endl;
if(zk1==zk4)
cout<<"a,d这两个集合相等。";
else
cout<<"a,d这两个集合不相等。";
}