当前位置 : 主页 > 编程语言 > c++ >

在c中的括号之前添加const

来源:互联网 收集:自由互联 发布时间:2021-06-23
只是想知道为什么虚函数的语法在花括号之前使用const,如下所示: virtual void print(int chw, int dus) const; 顺便说一句,代码似乎没有const,这很有趣..不知道为什么? 非常感谢! 函数签名中的
只是想知道为什么虚函数的语法在花括号之前使用const,如下所示:

virtual void print(int chw, int dus) const;

顺便说一句,代码似乎没有const,这很有趣..不知道为什么?

非常感谢!

函数签名中的const表示const成员函数 – Anthony Williams对其影响给出了 great answer.
请注意,在这方面虚拟成员函数函数没有什么特别之处,constness是一个适用于所有非静态成员函数的概念.

至于为什么它没有工作 – 你不能在const实例上调用非const成员.例如.:

class C {
public:
  void f1() {}
  void f2() const {}
};

void test() 
{
    const C c;
    c.f1(); // not allowed
    c.f2(); // allowed
}
网友评论