c++ - hpp 文件 && 实现类扩展 vector

标签 c++ stl vector

我有 2 个问题。

  1. 有谁知道 hpp 文件是什么?为什么有人会那样做?

  2. 我正在尝试实现一个扩展 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 但它不起作用。

有人知道吗?

最佳答案

  1. Does anyone know what an hpp file is?

.hpp 是 C++ 头文件的常用文件扩展名。

  1. 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/

相关文章:

apache-spark - VectorUDT 用法

c++ - 如何使用 POCO 使用 HTTP 基本身份验证进行 HTTP 发布?

c++ - 如何在 C++ 中创建考试评分程序?

时间:2019-03-17 标签:c++STLmin_element

matlab - 计算两个向量之间的角度matlab

scala - 如何将 Array[Long] 转换为 Scala 数据帧中的 Vector 类型?

c++ - 无法理解二进制文件的读取

c++ - 如何在 Mac OS 上设置线程优先级 pthread

c++ - 访问 tr1/unordered_map 的内在类型哈希函数

c++ - 将函数包装器转换为 std::function