⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b_6_1.cpp

📁 C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体
💻 CPP
字号:
#include "stdafx.h"
#include "iostream"
using namespace std;

const int max=100;

class set
{
private:
	int list[::max];
	int setSize;
public:
	set()  { setSize=0;}   // 缺省构造函数
	set(int a[],int size); // 构造函数
	set(set& s);           // 拷贝函数
	void empty(){setSize=0; }
	bool isempty();
	bool ismember(int n);
	void add(int n);
	set intersection(set& SET);
	void print();
};
set::set(int a[],int size) //构造函数
{	if(size>=::max)
		setSize=100;
	else
		setSize=size;
	for(int i=0;i<setSize;i++)
		list[i]=a[i];
	}
set::set(set& s)    // 拷贝函数
{	setSize=s.setSize;
	cout<<"调用拷贝函数!"<<endl;
	for(int i=0;i<setSize;i++)
		list[i]=s.list[i];
}
bool set::isempty()
{	if(setSize==0) 
		return true;
	else 
		return false;
	}
bool set::ismember(int n)
{	for(int i=0;i<setSize;i++)
		if(list[i]==n)
			return true;
	return false;
}
void set::add(int n)
{ if(ismember(n))
	{	cout<<"该元素已经在集合内!";
		return ;
	}
	else if(setSize> ::max)
	     {	cout<<"集合已满,不能增加元素!";
	    	return;
	     }
		else
		list[setSize++]=n;
}
set set::intersection(set& sourceSet)
{	int temp[100],size=0;
	for(int i=0;i<setSize;i++)
	for(int j=0;j<sourceSet.setSize;j++)
		if(list[i]==sourceSet.list[j])
		{temp[size++]=list[i];
		 break;
		}
		return set(temp,size);
	}
void set::print()
{	cout<<"{";
	for(int i=0;i<setSize-1;i++)
		cout<<list[i]<<",";
	if(setSize>0)
		cout<<list[setSize-1];
	cout<<"}"<<endl;
	}
void main()
{	set A;  // 创建集合A
    for(int i=1;i<10;i++)
		A.add(i);
	cout<<"A:";A.print();

	cout<<"用集合A初始化集合B!";
	set B(A);  // 用集合A初始化集合B
	cout<<"B:";B.print();

	B.empty(); // 将集合B置空
	cout << "集合B被置空!"<<endl;
    cout<<"B:";B.print();

	cout <<"为集合B增加元素!"<<endl;
	for(i=9;i<15;i++)  // 为集合B增加元素
		B.add(i);
	cout<<"B:";B.print();

	cout<<"A和B的交集:";A.intersection(B).print(); // 求集合A和B的交集
	cin.get(); //等待结束,以便调测程序,可以删除
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -