c++ 请帮忙

来源:百度知道 编辑:UC知道 时间:2024/07/08 03:11:28
2. 定义一个整数集合类IntSet,包括以下成员函数:

IntSet():类构造函数,根据需要可定义多个构造函数

Empty():清空该整数集合;

IsEmpty():判断整数集合是否为空;

IsMemberOf():判断某个整数是否在该整数集合内;

Add():增加一个整数到整数集合中

Sub():从整数集合中删除一个整数元素

IsEqual():判断两个集合是否相等

Intersection():求两个整数集合的交集

Merge():求两个整数集合的并集

Print():依次打印该整数集合

注意:整数集合中不允许有相同元素存在。

3. 编写一个程序,其中有一个简单的串类String,包含设置字符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类EditString,它的基类是String,在其中设置一个光标,使其能支持在光标处的插入、替换和删除等编辑功能。

4. 定义一个三维点类,重载下列运算符:

赋值运算符=;

比较运算符==和!=;

乘法运算符*,实现两个点的点积;

前缀与后缀自增运算符++;

插入运算符<<与提取运算符>>;

5. 某人喜欢饲养宠物。假定他拥有的放置宠物的窝的数目是固定的。请设计一个程序,使得某人可以饲养任意种类任意数目的宠物。要求能够知道现在饲养了多少只宠物,每只宠物所在的位置及其种类和姓名。

#include<iostream.h>
const int N=100; //最多元素个数
class Set
{
private:
int elem[N]; //存放集合元素
int num; //集合中最后一个元素位置
public:
Set();
Set(int a[],int s);
void empty();
int isempty();
int member(int a);
int add(int a);
int sub(int a);
int equ(Set &set);
Set intersection(Set &set);
Set merge(Set & set);
void copy(Set &set);
void print();
};
Set::Set() //默认构造函数
{
int i;
for (i=0;i<N;i++)
elem[i]=0;
num=-1;
}
Set::Set(int a[],int s) //构造函数,要求a数组中的元素互不相同
{
int i;
if (s>=100)
num=99;
else
num=s-1;
for (i=0;i<=num;i++)
elem[i]=a[i];
for (i=s;i<N;i++)
elem[i]=0;
}
void Set::empty() //清空一个集合
{
int i;
for (i=0;i<N;i++)
elem[i]=0;
num=-1;
}
int Set::isempty() //判断是否