//或
Set operator + (const Set set1, const Set set2);
//差
Set operator - (const Set set1, const Set set2);
//交
Set operator * (const Set set1, const Set set2);
//异或
Set operator / (const Set set1, const Set set2);
//流式输出
ostream& operator << (ostream& os, const Set set);
//只能用友员函数重载
friend ostream& operator << (ostream& os, const Set set);
//友员函数重载
friend Set operator + (const Set set1, const Set set2);
friend Set operator - (const Set set1, const Set set2);
friend Set operator * (const Set set1, const Set set2);
friend Set operator / (const Set set1, const Set set2);
bool isMember (char word) const;
void show();
};
//==============================================
//friend operators
Set operator + (const Set set1, const Set set2)
{
Set set = set1;
return set.operator += (set2);
}
Set operator - (const Set set1, const Set set2)
{
Set set = set1;
return set.operator -= (set2);
}
Set operator * (const Set set1, const Set set2)
{
Set set = set1;
return set.operator *= (set2);
}
Set operator / (const Set set1, const Set set2)
{
Set set = set1;
return set.operator /= (set2);
}