状況:私が思うに、これは動作するかどうC++のゲッターとセッターの代わりに "プロパティ"のようなメソッド?
class Person {
public:
int& age();
int age() const;
private:
int m_age;
};
私は、知りませんが、そう私の最初の質問はこれです:これらの方法では
- 、私は C#のような「プロパティ」を作成することができます?私は意味:私は何かがm_ageの値を変更したときにどうするかを実装することができます最初方法で
- 。
- がm_ageの値を使用しているときに何が起こるべきかを実装することができるのは、の第2のです。
例:私は、これは演算子のオーバーロードとconstの混合方法に基づいている愚かさに満ちていることを考え始めています
Person p;
p.age() = 15; //first method is called?
std::cout << p.age(); //second method?
、そうしてください:誰かが私を啓発するだろうか? :D
これが奇跡的にうまくいく場合、ゲッター&の代わりにこれを使うことができますか?これは悪い練習ですか?
セッターはどのようにパラメータなしで動作しますか? –
@Eli setterがm_ageを参照して返すと思います。 –
返された参照を使用します。または、メソッドがインラインである場合、これは唯一の動作ですか? @TonyJはい – Tudvari