わかりましたので、C++ のクラスの C# のプロパティのようなものを作成しようとしています。
例えば。C#で私はこれを行います:
int MaxHP { get; set; }
または、バッキング フィールドを使用:
int MaxHP
{
get { return maxHP; }
set { maxHP = value; }
}
ただし、これまでのところ C++ では、次の方法でしか再現できませんでした。
private:
int maxHP;
int maxEP;
public:
int GetMaxHP() { return maxHP; }
void UpSetMaxHP(int value){ maxHP += value; }
void DownSetMaxHP(int value){ maxHP -= value; }
int GetMaxEP(){ return maxEP; }
void UpSetMaxEP(int value){ maxEP += value; }
void DownSetMaxEP(int value){ maxEP -= value; }
物事が設計されるべき方法で何かが欠けているに違いありません。C# では、プロパティはフィールドのようなアクセスになります。ただし、C++ では、他のオブジェクトからアクセスすると異なる動作をする関数を実行する必要があります。
私はできると思います:
public:
int MaxHP;
しかし、それは私が目的を打ち負かしているように感じます. だから私の質問は、私はこれを正しくやっていますか、それともこれを達成するためのより良い、適切な方法はありますか?