#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- 重载实现两个集合的交集运算。

代码中使用了私有变量 na 分别表示集合中元素的个数和元素数组,并通过循环和比较实现集合元素的排序和去重。

此外,代码还包含了输入输出样例,便于理解代码的功能和使用方法。

本代码示例展示了如何使用 C++ 实现一个简单的整数集合类,并通过运算符重载简化集合运算的操作。用户可以根据实际需要修改代码,添加更多功能,例如删除元素、判断元素是否存在等。

C++ 实现整数集合类:运算符重载与集合操作

原文地址: https://www.cveoy.top/t/topic/oOUp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录