1、c++ 运算符重载-集合运算.txt30生命的美丽,永远展现在她的进取之中;就像大树的美丽,是展现在它负势向上高耸入云的蓬勃生机中;像雄鹰的美丽,是展现在它搏风击雨如苍天之魂的翱翔中;像江河的美丽,是展现在它波涛汹涌一泻千里的奔流中。#include
2、 class set { public: void print(); //显示输出集合元素 set(){card=0;} virtual ~set(); errcode additem(int); //增加集合元素 friend bool operator &(int,set); //声明重载运算符&,判断某一整数是否属于某一集合 friend bool operator ==(set,set); //声明重载运算符==,判断两个集合是否相等 friend bool operator !=(set,set); //声明重载运算符!=,判
3、断两个集合是否不等 friend set operator *(set,set); //声明重载运算符*,求两个集合的交 friend set operator +(set,set); //声明重载运算符+,求两个集合的并 friend bool operator <(set,set); //声明重载运算符<,判断某一集合是否为另一集合的纯子集 friend bool operator <=(set,set); //声明重载运算符<=,判断某一集合是否为另一集合的子集 private: int elems[16]; int card; }; /
4、/
// 集合类的各个成员函数的具体定义
set::~set()
{
}
/*****************************************************************************/
/*
函数名称:print
功能描述:显示复数
修改记录:
*/
void set::print()
{
cout<<"{";
for(int i=0;i 5、1;i++)
cout< 6、noerr;
if(card<16)
{
elems[card++]=elem;
return noerr;
}
else
return overflow;
}
/*****************************************************************************/
/*
函数名称:operator &
功能描述:声明重载运算符&,判断某一整数是否属于某一集合
修改记录:
*/
bool operator &(int elem,set set1)
{
for(i 7、nt i=0;i 8、d ) //两个集合个数不等,必不相等
return false;
for(int i=0;i 9、erator !=(set set1,set set2)
{
if(set1== set2)
return false;
else
return true;
}
/*****************************************************************************/
/*
函数名称:operator *
功能描述:声明重载运算符*,求两个集合的交
修改记录:
*/
set operator *(set set1,set set2)
{
set res;
for(int i=0;i 10、et1.card ;i++)
for(int j=0;j 11、函数名称:operator +
功能描述:声明重载运算符+,求两个集合的并
修改记录:
*/
set operator +(set set1,set set2)
{
set res=set1;
for(int i=0;i 12、函数名称:operator <
功能描述:声明重载运算符<,判断某一集合是否为另一集合的纯子集
修改记录:
*/
bool operator <(set set1,set set2)
{
if(set1.card 13、载运算符<=,判断某一集合是否为另一集合的子集
修改记录:
*/
bool operator <=(set set1,set set2)
{
if(set1.card >set2.card )
return false;
for(int i=0;i 14、/
void jiemian();
void tuichu();
void setcompute();
/************************************************************************/
/* main函数 */
/************************************************************************/
int main() 15、
{
jiemian();
return 0;
}
/************************************************************************/
/* 主界面函数,实现了界面及函数调用 */
/************************************************************************/
void jiemian()
{
int i;
cout< 16、<<"---------------------------------------------------------------"< 17、
cout<<"----------------------------------------------------------------"< 18、输入,0退出
if(i>=0 && i<=1)
{
switch(i)
{
case 1:
setcompute();
break;
case 0:
tuichu();
break;
}
}
else
{
cout<<"输入错误!";
cout<<"重新输入"< 19、退出函数 */
/************************************************************************/
void tuichu()
{
cout<<"---------------------------------------------------------------"< 20、 *"< 21、/
/* 集合计算函数 */
/************************************************************************/
void setcompute()
{
int j;
cout<<"请选择您的集合计算内容:"< 22、集合的并集;"< 23、
cin>>r2;
cout<<"请输入第一个集合的元素:"< 24、val);
}
set2.print ();
switch(j)
{
case 1:
set3=set1*set2;
cout<<"第一个集合为:"< 25、为:"< 26、的子集!"<






