相关疑难解决方法(0)

函数声明结尾的"const"是什么意思?

可能重复:
C++方法声明中"const"的含义是什么?

我有一本书,里面写着:

class Foo 
{
public:
    int Bar(int random_arg) const
    {
        // code
    }
};
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

c++ const

498
推荐指数
6
解决办法
44万
查看次数

在函数名c ++之后的参数vs const之前的const

这样的事情之间有什么区别

friend Circle copy(const Circle &);
Run Code Online (Sandbox Code Playgroud)

和这样的事情

friend Circle copy(Circle&) const;
Run Code Online (Sandbox Code Playgroud)

我知道const后,函数被用来告诉编译器这个函数不会尝试更改它被调用的对象,那么另一个呢?

c++ const function

63
推荐指数
5
解决办法
5万
查看次数

为什么我无法覆盖虚拟功能?

我试图覆盖 Vector_container 中的大小函数,但 IDE 告诉我“标记为‘覆盖’的非虚拟成员函数隐藏虚拟成员函数”

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;
};
Run Code Online (Sandbox Code Playgroud)

但它不是一个虚函数吗?

c++ polymorphism inheritance overriding constants

6
推荐指数
1
解决办法
1403
查看次数