我试图覆盖Vector_container中的size函数,但是IDE告诉我“标记为'override'的非虚拟成员函数会隐藏虚拟成员函数”
class Container {
public:
virtual double& operator[](int) = 0; // pure virtual function
virtual int size() const = 0; // const member function (§4.2.1)
virtual ~Container() {} // destructor (§4.2.2)
};
class Vector_container : public Container { // Vector_container implements Container
public:
Vector_container(int s) : v(s) { } // Vector of s elements
~Vector_container() {}
double& operator[](int i) override { return v[i]; }
int size() override { return v.size(); }
private:
Vector v;
};
但是它不是虚拟函数吗?
const
添加结尾。