我用 C++ 编写了这段代码:
class Foo
{
public:
int& fun(){return var;} // 1st fun
int fun() const {return var;} // 2rd fun
private:
int var;
};
int main()
{
Foo foo;
int i = foo.fun();
return 0;
}
我知道 C++ 不能通过返回值来区分重载函数,但是为什么当我向第二个函数添加一个 const 时,重载可以工作?'const'做了什么?