1.设计支持集合操作的类模板,适合数值类型,设计适当的成员函数,实现支持添加,删除元素,求和,求平均值,查找,排序。在主函数创建对象,调用已完成的函数。
时间: 2024-03-23 09:37:43 浏览: 63
好的,我明白了。下面是一个支持集合操作的类模板的示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template <typename T>
class Collection {
public:
Collection() {}
void add(T value) {
elements.push_back(value);
}
void remove(T value) {
elements.erase(remove(elements.begin(), elements.end(), value), elements.end());
}
T sum() {
T sum = 0;
for (auto it = elements.begin(); it != elements.end(); it++) {
sum += *it;
}
return sum;
}
double average() {
if (elements.empty()) {
return 0;
}
return static_cast<double>(sum()) / elements.size();
}
bool contains(T value) {
return find(elements.begin(), elements.end(), value) != elements.end();
}
void sort() {
std::sort(elements.begin(), elements.end());
}
private:
vector<T> elements;
};
int main() {
Collection<int> c;
c.add(1);
c.add(2);
c.add(3);
cout << "Sum: " << c.sum() << endl;
cout << "Average: " << c.average() << endl;
cout << "Contains 2: " << c.contains(2) << endl;
c.sort();
cout << "Sorted: ";
for (auto it = c.begin(); it != c.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
上面的示例代码中,我们使用了一个 vector 来存储元素。add() 函数用于添加元素,remove() 函数用于删除元素。sum() 函数用于求和,average() 函数用于求平均值。contains() 函数用于查找元素是否存在,sort() 函数用于排序。
在主函数中,我们创建了一个 Collection<int> 对象,并向其中添加了一些元素。然后,我们调用了一些成员函数,并输出了结果。最后,我们对集合进行了排序,并输出了排序后的结果。
希望这个示例代码能够帮到您!
阅读全文