C++ 修改内置对象的成员函数

C++ 修改内置对象的成员函数,c++,C++,我相信这个问题已经被回答了很多次,但我不知道如何搜索这个问题。这是多态性吗?超载 基本上,我想要得到一个向量,并以我想要的方式修改它的函数,或者创建新的函数 例如:我想要push_back()插入一个元素,并保持向量的降序。因此,添加的是将()元素交换到其各自的位置。或者我想添加一个新函数pop_front() 也就是说,我需要它作为成员函数,例如: vector<int> x; x.pop_front(); 在实践中有没有这样做过?我知道我可以只使用现有的容器,比如我的示例中的优

我相信这个问题已经被回答了很多次,但我不知道如何搜索这个问题。这是多态性吗?超载

基本上,我想要得到一个向量,并以我想要的方式修改它的函数,或者创建新的函数

例如:我想要push_back()插入一个元素,并保持向量的降序。因此,添加的是将()元素交换到其各自的位置。或者我想添加一个新函数pop_front()

也就是说,我需要它作为成员函数,例如:

vector<int> x;
x.pop_front();

在实践中有没有这样做过?我知道我可以只使用现有的容器,比如我的示例中的优先级队列,但我更愿意创建完全自定义的函数。

基本上,
std::vector
不是设计为基类的,从它继承通常是个坏主意。例如,它的dtor不是虚拟的

这里最好用构图。e、 g

template <typename T>
class MyVector {
private:
    std::vector<T> v;
public:
    void pop_front() {
        // processing on v ...
    }
};
模板
类MyVector{
私人:
std::向量v;
公众:
void pop_front(){
//在v上处理。。。
}
};

可能会对您有所帮助。C++17有望使
x.foo()
foo(x)
等效
template <typename T>
class MyVector {
private:
    std::vector<T> v;
public:
    void pop_front() {
        // processing on v ...
    }
};