私はこのコードを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 ++は戻り値でオーバーロード関数を区別できないことは知っていますが、2番目の関数にconstを追加したときに、オーバーロードが機能するのはなぜですか?'const'は何をしましたか?