const
修飾子だけが異なる 2 つのメンバー関数を持つクラスがあります。
class CFoo
{
private:
int x;
int y;
public:
static int a;
void dosmth() const {
a = 99;
}
void dosmth(){
x++;
y++;
}
};
int CFoo::a = 100;
int main(){
CFoo foo;
cout << CFoo::a << endl;
foo.dosmth();
cout << CFoo::a << endl;
}
次のコードは100, 100
. 非 const dosmth が呼び出されるのはなぜですか? const
バージョンを明示的に呼び出すにはどうすればよいですか?