constメソッド
メソッドのconstはシグネチャの一つとして判断されて、
#includeclass Int
{
int _value;
public:
Int() : _value(0)
{}int& Value() { return _value; }
const int& Value() const { return _value; }
};main()
{
Int i;
int& val = i.Value();
// int& Int::Value() が呼び出される
const Int k;
const int& cval = k.Value();
// const int& Value() const が呼び出される
}
オブジェクトがconstの場合はconstメソッドが呼ばれるという事。
戻り値の型を変える事が出来るのでconstの場合はconstな参照を
返すとかそういう事も出来るんです。
常識ですか?そうですか、、、(´・ω・`)