1

というクラスがあるとしclass AIます。そして、このクラス内に という別の子クラスを作成しましたclass AIbrainAIここで、個別のオブジェクトがそれぞれ独自の を操作できるようにしたいと考えていますAIbrain。しかしclass AIbrain{friend AI;};、クラスAibrainはクラスのすべてのオブジェクトに公開されますAI

だから私はAIbrain自分のAIオブジェクトを友達にする方法があるのだろうかと思っていましたか? そうしないと、それぞれAIが他AIの の変数を変更し、それらの関数にアクセスできるようになります。

4

2 に答える 2

2

クラスの変数と関数は変更しません (静的でない限り)、インスタンスの変数と関数を変更します。 単純にそれぞれに を持た
せたい場合は、各 AI インスタンスに AI メンバーを与えます。AI AIBrain

class AIBrain { /*...*/ };
class AI {
  public:
  //whatever
  private:
    AIBrain brain;
};

各 AI インスタンスは独自のブレインを持ち、ブレインのパブリック メンバーと関数を使用できます。

于 2013-08-06T08:18:00.420 に答える