C++语言程序设计

| 例10-8-a

1. #include <iostream.h>
2. const maxCard = 100;
3. enum bool {false, true};
4. class Set {
5. public:
6. void EmptySet (void) { card = 0; }
7. bool Member (const int);
8. void AddElem (const int);
9. void RmvElem (const int);
10. void Copy (Set&);
11. bool Equal (Set&);
12. void Intersect (Set&, Set&);
13. void Union (Set&, Set&);
14. void Print (void);
15. private:
16. int elems[maxCard]; // 集合元素
17. int card; // 集合元素个数
18. };

| 表10-3 注释

2. | MaxCard 表示集合中的最大元素个数
6. | EmptySet通过设置集合中的元素个数为0，清除集合中的内容
7. | Member 检查一个给定的数是否是集合中的元素
8. | AddElem增加一个新的元素到集合中，如果该元素已经在集合中，则集合保持不变，否则，在不使集合溢出的前提下，插入该元素
9. | RmvElem删除集合中的一个元素
10. | Copy复制一个集合到另一个集合
11. | Equal检查两个集合是否相等，两个集合相等的条件是：两个集合所包含的元素是完全相同的
12. | Intersect比较两个集合，生成一个新的集合，且该集合的元素同时包含在另外两各集合中。例如，集合{2,5,3}和{7,5,2}通过Intersect运算后，生成的集合为{2,5}
13. | Union比较两个集合，生成一个新的集合，且该集合的元素包含另两个集合的全部元素。例如，集合{2,5,3} 和 {7,5,2}通过union 运算后，生成的集合为{2,5,3,7}
14. | Print打印一个集合。例如，包含元素5, 2, 和10的集合打印为{5,2,10}
16. | elems 数组表示集合元素
17. | card 表示集合中元素的个数