Variable in mehreren Klassen nutzen
-
Hi,
ich versuche gerade ein kleines Spiel zu programmieren. In diesem Spiel habe ich 3 Dateien mit jeweils einer Klasse:
"Spieler.hpp" mit der Klasse "Spieler"
"Computer.hpp" mit der Klasse "Computer"
und "Spiel.hpp" mit der Klasse "Spiel"mein Problem ist nun das ich auf eine Variable "Anzahl_Muenzen" in allen 3 Klassen zugreifen muss so das ich ihren Wert verändern kann. Weiß jemand wie ich das am besten mache?
-
Dazu definierst du dir einen vierten Header (und ein dazu passendes CPP-File):
//defs.h #ifndef DEFS_H #define DEFS_H extern int Anzahl_Muenzen; //eventuell weitere Hilfsdefinitionen #endif //DEFS_H
//defs.cpp int Anzahl_Muenzen=0; //weitere Hilfsvariablen und Funktionen
Als nächstes kannst du am Anfang der Quellfiles deiner Klassen diese Definitionen einbinden:
//z.B. Spieler.cpp #include "defs.h" #include "Spieler.hpp" //Definition der Spieler-Methoden
(und schließlich darfst du nicht vergessen, die "defs.cpp" mitzucompilieren und zu linken, wenn du dein Gesamtprogramm auf die Beine stellst)
-
eine weitere Möglichkeit
class Spiel { ... public: int m_iAnzahlMuenzen; ... }; class Spieler { ... Spiel *m_pSpiel; ... }; class Computer { ... Spiel *m_pSpiel; ... };
Somit jeder Spieler und jeder Computer auf das Spiel und damit auf benötigte Eigenschaften zugreifen.
-
Vielen dank für die Antworten. Ich werde es gleich mal versuchen.
Edit: Es hat geklappt, danke nochmal.