c++中用默认模板类vector怎么构造一个vector的类
时间: 2024-09-26 10:09:47 浏览: 37
在C++中,`std::vector`是一个默认模板类,用于动态数组的存储,它的大小是可变的。如果你想创建一个自定义类型的`vector`,只需指定模板参数即可。以下是一个简单的例子,假设我们想要创建一个存放字符串的`StringVector`:
```cpp
#include <vector>
#include <string>
// 定义自定义类型 StringVector
class StringVector : public std::vector<std::string> {
public:
// 构造函数,接受一个初始元素列表
StringVector() {}
// 可选的有参构造函数,接受一个已存在的容器作为基础
StringVector(const std::vector<std::string>& vec)
: std::vector<std::string>(vec) {}
// 添加一个新字符串
void addString(const std::string& str) {
push_back(str);
}
// 示例方法,打印所有字符串
void printAll() const {
for (const auto& s : *this) {
std::cout << s << ' ';
}
std::cout << '\n';
}
};
int main() {
StringVector sv; // 创建空的StringVector
sv.addString("Hello");
sv.addString("World");
sv.printAll(); // 输出: Hello World
return 0;
}
```
在这个例子中,`StringVector`继承了`std::vector<std::string>`,所以我们可以直接使用`push_back`、`size()`等`vector`的方法。当然,你也可以添加更多的成员函数来满足特定需求。
阅读全文