用C++举例说明类模板设计模式
时间: 2023-08-15 08:02:02 浏览: 215
当谈到C++中的类模板设计模式时,一个常见的例子是使用类模板来实现一个通用的容器类。我们可以定义一个名为`Container`的类模板,该类可以存储任意类型的元素,并提供一些常见的容器操作,例如添加元素、删除元素和遍历元素等。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
template <typename T>
class Container {
private:
std::vector<T> elements;
public:
void add(const T& element) {
elements.push_back(element);
}
void remove(const T& element) {
// ...
}
void traverse() const {
for (const auto& element : elements) {
std::cout << element << " ";
}
std::cout << std::endl;
}
};
int main() {
Container<int> intContainer;
intContainer.add(1);
intContainer.add(2);
intContainer.add(3);
intContainer.traverse();
Container<std::string> strContainer;
strContainer.add("Hello");
strContainer.add("World");
strContainer.traverse();
return 0;
}
```
在上面的示例中,我们定义了一个`Container`类模板,其中的`T`是一个类型参数。通过使用类模板,我们可以创建不同类型的容器对象,例如`Container<int>`和`Container<std::string>`。对于每个具体的容器对象,我们可以使用`add`方法向容器中添加元素,使用`traverse`方法遍历容器中的元素。
通过类模板,我们可以利用同一份代码来实现不同类型的容器,提高了代码的复用性和灵活性。这种方式可以适用于各种场景,例如实现列表、栈、队列等各种容器类。
阅读全文