Jeena Paradies: C++-Klassen: Beidseitig gerichtete Assoziation

Beitrag lesen

Hallo,

Ich kann dir jetzt nicht direkt konkret helfen, aber irgendwie scheint dein Ansatz komisch.

Ich hätte es so gemacht, dass ich eine Klasse für das Spiel machen würde und eine Klasse für einen Spieler. Da ich kein C++ kann hier ein wenig Pseudocode:

class Game {  
 private array players;  
 public method addPlayer(player) { this.players.push(player) };  
 public method start() {};  
}  
  
class Player {  
 private object game;  
 private constructor Player(game) { this.game = game; }  
}  
  
game = new Game();  
  
player1 = new Player(game);  
player2 = new Player(game);  
player3 = new Player(game);  
  
game.addPlayer(player1);  
game.addPlayer(player2)  
game.addPlayer(player3);  
  
game.start();

Dann hast du deine Beziehungen wunderbar abgebildet und die Spieler können auf das Spiel zugreifen und das Spiel weiß welche Spieler aktuell mitspielen. Ich weiß nicht ob ich deine Frage richtig verstanden habe, aber so würde ich an die Sache herangehen. Wenn ich ganz falsch liege dann freue ich mich schon auf eine Erklärung wie man es richig[er] macht :D

Jeena