Salve.
Stavo creando un "giochino" in C++ e ho dovuto creare diverse classi. Il sorgente è abbastanza grande, quindi vi riporto il codice per farvi un esempio snello.
Classe armi che definisce il danno dell'arma e le munizioni. Inoltre, in questa classe c'è un metodo usato per colpire il giocatore.
Chi è perspicace capisce che, per usare il metodo Colpisci() ho bisogno del riferimento a un oggetto della classe Player. Mi serve perchè poi dal quel metodo devo decidere quanta vita togliergli (in base al danno) ecc...
Ma il punto è che devo passare per riferimento l'oggetto della classe Player al metodo della classe Weapons.
Ho creato un oggetto-puntatore Player (usando quindi l'allocazione esplicita con new):
Player* giocatore = new Player(...);
...e un arma...
Weapons* lanciarazzi = new Weapons(...);
Ad un certo punto del codice chiamerò il metodo lanciarazzi->Colpisci(giocatore) il cui prototipo è void Colpisci(Player &player)
[N.B.] NOTA BENE [N.B]
Quando chiamo il metodo Colpisci(), all'interno delle parentesi scrivo SOLO IL NOME della variabile-puntatore-a-classe.
Nel prototipo del metodo Colpisci(), INVECE, uso la e-commerciale (&) proprio perché io voglio prendere IL RIFERIMENTO di quel puntatore-a-classe.
Voglio? Mmh... vorrei...
Il compilatore mi Colpisce()
SCREEN:
Allora mi son dato alla ricerca del problema e sono arrivato alla SOLUZIONE
PRIMA [ERRORE]
DOPO [GOOD]
Bastardino quel *
Tutto questo post per dirvi: che cavolo cambia? -.-
@TBH @System32 @nothing
Stavo creando un "giochino" in C++ e ho dovuto creare diverse classi. Il sorgente è abbastanza grande, quindi vi riporto il codice per farvi un esempio snello.
Analisi:
Classe giocatore che definisce le info sul giocatore (vita, armatura, nome giocatore...)Classe armi che definisce il danno dell'arma e le munizioni. Inoltre, in questa classe c'è un metodo usato per colpire il giocatore.
Chi è perspicace capisce che, per usare il metodo Colpisci() ho bisogno del riferimento a un oggetto della classe Player. Mi serve perchè poi dal quel metodo devo decidere quanta vita togliergli (in base al danno) ecc...
Ma il punto è che devo passare per riferimento l'oggetto della classe Player al metodo della classe Weapons.
Ho creato un oggetto-puntatore Player (usando quindi l'allocazione esplicita con new):
Player* giocatore = new Player(...);
...e un arma...
Weapons* lanciarazzi = new Weapons(...);
Ad un certo punto del codice chiamerò il metodo lanciarazzi->Colpisci(giocatore) il cui prototipo è void Colpisci(Player &player)
[N.B.] NOTA BENE [N.B]
Quando chiamo il metodo Colpisci(), all'interno delle parentesi scrivo SOLO IL NOME della variabile-puntatore-a-classe.
Nel prototipo del metodo Colpisci(), INVECE, uso la e-commerciale (&) proprio perché io voglio prendere IL RIFERIMENTO di quel puntatore-a-classe.
Voglio? Mmh... vorrei...
Il compilatore mi Colpisce()
SCREEN:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Allora mi son dato alla ricerca del problema e sono arrivato alla SOLUZIONE
PRIMA [ERRORE]
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
DOPO [GOOD]
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Bastardino quel *
Tutto questo post per dirvi: che cavolo cambia? -.-
@TBH @System32 @nothing
Ultima modifica: