const 修飾子を指定して宣言されたメンバー関数は、定数オブジェクトおよび非定数オブジェクトに対して
呼び出すことができます。
非定数メンバー関数は、非定数オブジェクトに対してのみ呼び出すことができます。
同様に、volatile 修飾子を指定して宣言されたメンバー関数は、volatile オブジェクトおよび
非 volatile オブジェクトに対して呼び出すことができます。
非 volatile メンバー関数は、非 volatile オブジェクトに対してのみ呼び出すことができます。
関連参照