如何继承 C++ STL 容器?
2023-04-21 阅读 63
在 C++ STL 中,容器是通过模板类实现的,因此我们可以通过继承模板类来继承 STL 容器。具体步骤如下:
1. 确定你要继承哪个 STL 容器,比如 vector。
2. 创建一个新的类,并继承 STL 容器,比如:
```c++
template
class MyVector : public std::vector {
// ...
};
```
3. 在新类中添加你想要的成员函数和成员变量。
4. 在构造函数中调用 STL 容器的构造函数:
```c++
template
class MyVector : public std::vector {
public:
MyVector() : std::vector() {
// ...
}
// ...
};
```
5. 如果需要重载 STL 容器的成员函数,可以使用 using 关键字:
```c++
template
class MyVector : public std::vector {
public:
using std::vector::push_back;
void push_back(const T& t) {
// ...
}
// ...
};
```
这样,我们就可以使用 MyVector 类来代替 vector 类,并且可以使用 MyVector 类中新增的成员函数和成员变量。
更新于 2023年04月24日