C++ wie kann ich Variablen in eine andere Klasse verschieben?

...komplette Frage anzeigen main.cpp - (Computer, programmieren, Programmierung) Spieler.h - (Computer, programmieren, Programmierung) Spieler.cpp - (Computer, programmieren, Programmierung) Gegner.h - (Computer, programmieren, Programmierung) Gegner.cpp - (Computer, programmieren, Programmierung)

4 Antworten

Ich würde für Spieler und Gegner eine gemeinsame Klasse anlegen, denn der Gegner ist ja auch ein Spieler, wenn auch virtuell, zB Ki-gesteuert.

Darin legst du eine public Funktion bzw Methode an, zb wirdangegriffen( int Stärke).  Diese rufst du nun in main oder einer anderen Klasse (zb Kampf) auf mit    Gegner -> wirdangegriffen(15); .

Wie der Gegner darauf reagiert (abzug der Lebenspunkte usw), wird innerhalb der Klasse in der Funktion wirdangegriffen bearbeitet.

Du kannst für jede Klasse sogenannte getter und setter verwenden. Bei get() gibst du die gewünschte Variable zurück und bei set() brauchst du einen Parameter, der dann die entsprechende Variable auf den wert des Parameters setzt.

Hope it helps :D

maximilianus7 30.04.2016, 10:51

wenn die setter und getter nicht mehr machen sind die überflüssig. und für einen absoluten anfänger nur verwirrend. es gibt ein religöse sekte die verbietet direkt auf public attribute zuzugreifen. die diskussion ersparen wir uns.

1
PerfectMuffin 30.04.2016, 12:12
@maximilianus7

Wenn man von den Klassen erben soll sind die Getter und Setter allerdings absolut zwingend.

2

Wenn du virtuelle Variablen von Objekten von der main aus manipulieren willst,
dann hast du OOP nicht verstanden.

Und ich glaube die Konvention, dass man Variablennamen niemals groß schreibt, gilt auch in C++.

Was möchtest Du wissen?