C++ 实现整数集合类:运算符重载与集合操作
#include<iostream>
using namespace std;
class Cassemblage
{
private :
int n;
int a[1000];
public :
void Set(int a1[] ,int n1)
{
n=n1;
for(int i=0;i<n;i++)
{
a[i]=a1[i];
}
}
Cassemblage operator+(Cassemblage z);
Cassemblage operator-(Cassemblage z);
void Show()
{
int i,j,t;
if(n>0)
{
for (i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++)
{
cout<<a[i]<<' ';
}
}
else
{cout<<"empty";
}
}
};
int main( )
{
Cassemblage z1, z2, x3;
int i, n1, n2, a1[1000], a2[1000];
cin >> n1;
for(i=0; i<n1; i++)
{
cin >> a1[i];
}
z1.Set(a1, n1);
cin >> n2;
for(i=0; i<n2; i++)
{
cin >> a2[i];
}
z2.Set(a2, n2);
x3=z1+z2;
x3.Show();
cout << endl;
x3=z1-z2;
x3.Show();
return 0;
}
本代码实现了一个整数集合类 Cassemblage,包含以下功能:
- 添加元素: 使用
Set函数将输入的整数数组和元素个数添加到集合中。 - 显示元素: 使用
Show函数按从小到大的顺序输出集合中的元素,如果集合为空,则输出empty。 - 并集运算: 使用
operator+重载实现两个集合的并集运算。 - 交集运算: 使用
operator-重载实现两个集合的交集运算。
代码中使用了私有变量 n 和 a 分别表示集合中元素的个数和元素数组,并通过循环和比较实现集合元素的排序和去重。
此外,代码还包含了输入输出样例,便于理解代码的功能和使用方法。
本代码示例展示了如何使用 C++ 实现一个简单的整数集合类,并通过运算符重载简化集合运算的操作。用户可以根据实际需要修改代码,添加更多功能,例如删除元素、判断元素是否存在等。
原文地址: https://www.cveoy.top/t/topic/oOUp 著作权归作者所有。请勿转载和采集!