我有 2 个问题。
有谁知道 hpp 文件是什么?为什么有人会那样做?
我正在尝试实现一个扩展 vector 的类
但我想使用所有原始功能并为每个功能添加操作。 所以我写道:
#include <iostream>
#include <vector>
#ifndef _MY_PERSONAL_VECTOR
#define _MY_PERSONAL_VECTOR
class PersonalVec: public std::vector<int>{
public:
PersonalVec();
void push_back(const int& Val);
};
#endif
在cpp文件中:
#include <iostream>
#include "PersonalVec.hpp"
using namespace std;
PersonalVec::PersonalVec(): std::vector<int>(){
}
void PersonalVec::push_back(const int& Val):vector<int>::push_back(Val){
cout<<"new improved vector";
}
所以在函数 push_back 中我试图调用 vector push_back 但它不起作用。
有人知道吗?
最佳答案
- Does anyone know what an
hpp
file is?
.hpp 是 C++ 头文件的常用文件扩展名。
- I am trying to implement a class that extends
vector
You probably don't want to do that .标准库容器没有虚拟析构函数,也不打算从中派生。你应该更喜欢:
- 使用组合(有一个容器作为成员变量),或者
- 使用非成员函数扩展功能
哪个更好完全取决于您需要做什么。
关于c++ - hpp 文件 && 实现类扩展 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3857019/