设计和实现整型集合类(Set)成员函数要求如下:1.添加构造函数完成初始化 2.能添加一个元素,元素不重复 3.能删除一个元素 4.能输出所有元素 5.求两个集合对象的交集 6.求两个集合对象的并集 7.求两个集合对象的差集
时间: 2023-05-18 16:07:20 浏览: 118
非常好的问题!以下是一个简单的整型集合类(Set)的实现,满足您的所有要求:
```cpp
#include <iostream>
#include <set>
class Set {
public:
// 构造函数
Set() {}
// 添加一个元素,元素不重复
void add(int num) {
m_set.insert(num);
}
// 删除一个元素
void remove(int num) {
m_set.erase(num);
}
// 输出所有元素
void print() {
for (auto num : m_set) {
std::cout << num << " ";
}
std::cout << std::endl;
}
// 求两个集合对象的交集
Set intersection(const Set& other) const {
Set result;
for (auto num : m_set) {
if (other.m_set.count(num)) {
result.add(num);
}
}
return result;
}
// 求两个集合对象的并集
Set unionSet(const Set& other) const {
Set result;
for (auto num : m_set) {
result.add(num);
}
for (auto num : other.m_set) {
result.add(num);
}
return result;
}
// 求两个集合对象的差集
Set difference(const Set& other) const {
Set result;
for (auto num : m_set) {
if (!other.m_set.count(num)) {
result.add(num);
}
}
return result;
}
private:
std::set<int> m_set;
};
```
希望这个实现能够满足您的需求!
阅读全文