c++题目,定义整数集合类Intset。该类定义如下:

2025-01-02 12:50:41
推荐回答(2个)
回答1:

#ifndef MY_H
#define MY_H
#include
using std::cout;
using std::ends;
using std::endl;
class Intset
{
public:
Intset(){EndPosition=-1;}; //空集合,EndPosition= -1,表示整数集合为空集合
Intset(int a[],int size); //用数组a的各个元素初始化集合中的各个数据,size整数集合个数
void inputdata(int a[], int size);//用数组a的各个元素给集合赋值,size整数集合个数
Intset Merge(Intset &set); //求两个集合的交集
Intset Copy(Intset &set); //求两个集合的并集
void Print(); //依次打印该整数集合,占一行
private:
int element[100]; //保存整数集合数据
int EndPosition; //指示整数集合的最后一个元素位置
};
Intset::Intset(int a[],int size)
{
this->inputdata(a,size);
}
void Intset::inputdata(int a[],int size)
{
for(int i=0;i!=size;++i)
{
element[i]=a[i];
}
EndPosition=size-1;
}
Intset Intset::Merge(Intset &set)
{
int ele[100],x=0;
for(int i=0;i!=set.EndPosition+1;++i)
{
for(int j=0;j!=EndPosition+1;++j)
{
if(set.element[i]==element[j])
{
ele[x++]=element[j];
}
}
}
return Intset(ele,x);
}
Intset Intset::Copy(Intset &set)
{
Intset thisSet(this->element,this->EndPosition+1);
Intset mer=thisSet.Merge(set);
for(int i=0;i!=set.EndPosition+1;++i)
{
bool b=true;
for(int j=0;j!=mer.EndPosition+1;++j)
{
if(mer.element[j]==set.element[i])
b=false;
}
if(b)
thisSet.element[++thisSet.EndPosition]=set.element[i];
}
return thisSet;
}
void Intset::Print()
{
for(int i=0;i!=EndPosition+1;++i)
cout< cout<}
#endif

回答2:

看过之后 冒失是自问自答 还是要别人查错