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

    [C++] Delete di oggetti

    Secondo voi dov'è l'errore??

    codice:
       Giocatore* Giocatori[i];
       
       Giocatori[0] = new Umano("Giacomo");
       
       delete Giocatori[0];
       
       for(j = 1; j < i; j++)
       {
        cout << j << endl; 
        Giocatori[i] = new Ai("Cpu");
       }   
       
       for(j = 1; j < i; j++)
       {
        cout << j << endl; 
        delete Giocatori[i];
       }
    Mi raccomando nn badate alla non ottimizzazione!! :P

    Ora posto le classi...
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  2. #2

    Questa è la classe Giocatore

    codice:
    class Giocatore{
     public:
    
      Giocatore(){
          std::cout << "Costruito giocatore " << std::endl;
          } 
      
      virtual ~Giocatore(){
          std::cout << "Distrutto giocatore " << std::endl;
          }
           
      virtual void set_nome(string) = 0;
      
      virtual string get_nome() = 0;
          
    };
    ...
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  3. #3

    Questa è la classe Umano

    codice:
    class Umano: public Giocatore{
     public :
      
      Umano(string nome_giocatore){
          nome_ = nome_giocatore;
          std::cout << "Costruito Umano" << std::endl;
          }
      
      Umano(){
          std::cout << "Costruito Umano" << std::endl;
          }    
     
      ~Umano(){
          std::cout << "Distruggo Umano" << std::endl;
          }; 
      
      void set_nome(string);
      
      string get_nome(); 
       
     private:
      string tipo_,
             nome_;
             
    };
    ...
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  4. #4

    Questa è la classe Ai

    codice:
     class Ai: public Giocatore{
     public :
      
      Ai(string nome_giocatore){
          nome_ = nome_giocatore;
          std::cout << "Costruito AI" << std::endl;
          }
      
      ~Ai(){
          std::cout << "Distrutto Ai" << std::endl;
          }; 
      
      void set_nome(string);
      
      string get_nome(); 
       
     private:
      string tipo_,
             nome_;
             
    };
    Ecco tutto!!!

    Cmq nn sto spammando!
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  5. #5
    codice:
    Giocatori[0] = new Umano("Giacomo"); 
    delete Giocatori[0];
    A che serve? prima lo crei e poi lo distruggi subito?

    Capisco che la tentazione di interpretare Dio, quando uno programma, è forte... ma bisogna darci una regolata ... solo lui crea e distrugge a piacimento

    Scherzi a parte, cos'è che non va?
    Non compila? Non si comporta come dovrebbe?

  6. #6
    Originariamente inviato da gandalf45
    codice:
    Giocatori[0] = new Umano("Giacomo"); 
    delete Giocatori[0];
    A che serve? prima lo crei e poi lo distruggi subito?

    Capisco che la tentazione di interpretare Dio, quando uno programma, è forte... ma bisogna darci una regolata ... solo lui crea e distrugge a piacimento

    Scherzi a parte, cos'è che non va?
    Non compila? Non si comporta come dovrebbe?

    :maLOL:

    Creo e distruggo per test! ^_^

    Sto facendo delle prove!

    Cmq il problema me lo da in output quando distrugge il vettore con il for!!!
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  7. #7
    Ho trovato l'errore:

    codice:
    for(j = 1; j < i; j++)
       {
        cout << j << endl; 
        delete Giocatori[i]; << QUESTO!!!
       }
    :maLOL:

    Devo mettere "j" no "i"!!!

    Che niubbo che sono! ^_^
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  8. #8
    Originariamente inviato da Habdul
    Ho trovato l'errore:

    codice:
    for(j = 1; j < i; j++)
       {
        cout << j << endl; 
        delete Giocatori[i]; << QUESTO!!!
       }
    :maLOL:

    Devo mettere "j" no "i"!!!

    Che niubbo che sono! ^_^
    Capita, a tutti, spesso e volentieri

    ...si chiama distrazione

    Il fatto che te ne sei accorto da solo indica che non sei un niubbo

  9. #9
    Diciamo che mi sto quasi per laureare in Informatica!

    Ma il c++ lo sto usando da poco + di una settimana!!! ^_^

    Spesso invece di pensare in c++, mi ritrovo per le mani funzioni in C!!!

    ^^

    Per questo sto facendo errori molto grossolani!
    Linguaggi : C/C++
    SO: WinXP, Slack 10

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.