Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Creazione degli oggetti da altre classi

    Toglietemi un dubbio:

    Ho definito le classe A e B, diciamo con

    codice:
    class A
    {
     public:
      friend class B;
    };
    
    class B
    {
    };
    La classe A può far creare oggetti della classe A?
    o meglio ne può invocare in costruttore?

    Sto creando un gestore di partite e vorrei che la classe che gestisce le partite possa creare i giocatori.
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  2. #2
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    Quindi sei ho ben capito la classe A gestisce le partite ...

    Ma non ti può risultare + semplice se ad esempio se la classe B e' un oggetto che identifica il giocatore ?
    Mi spiego meglio la classe A ogni volta che vuole crearsi un giocatore crea un'istanza della classe B.

    Esempio grosso modo:

    class A;
    class B;

    class A
    {
    protected:
    void CreaGiocatore ();
    public:
    friend class B;
    B *giocatori[N];
    };

    class B
    {
    // metodi che implementano il giocatore
    };

    // implementazione del metodo CreaGiocatore

    void __fastcall A::GreaGiocatore ()
    {
    // 'i' sarebbe la prima entry libera nell'array
    giocatori[i] = new B ("Nome","Cognome","Numero di maglia");
    }

    Non guardare se ci sono errori.
    Nella classe A quindi ti gestisci i giocatori, puoi gestire le partite, e tutto quello che vuoi.
    Cmq io la implementerei in questa maniera.


  3. #3
    ehm, si!!!
    Sono ore che sto sbagliando tutto! ^_^

    Poco male, dato che programmo ad oggetti da 2 giorni!!!

    Il passare da C a C++ mi confonde un po'!
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  4. #4
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    ah, ok.

    Cmq fidati che all'inizio e' un po complicato, poi vedrai che a forza di provare lo impari il meccanismo.

    Cmq ricapitolando una classe B che la associ al giocatore, una classe C che la associ per esempio alla squadra, una classe D che la puoi associare alle partite.

    Poi se vuoi fare veramente il figo un giorno che impari il principio di ereditarietà, la classe D puoi farla diventare astratta e fare tutte le derivazioni per ogni competizione (Es nel calcio, Coppa Uefa, Coppia Italia, Champions) ecc ...

    Buon divertimento.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.