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

    [C++] Array di oggetti con new

    Come creo un array di oggetti utilizzando "new"?

    un oggetto singolo lo creo con

    codice:
     Classe* oggetto1 = new Classe();
    
      ...
    
      delete oggetto1;
    Non voglio utilizzare

    codice:
     Classe oggetto[Numero_oggetti];
    Linguaggi : C/C++
    SO: WinXP, Slack 10

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Se la classe degli oggetti ha un costruttore senza argomenti puoi fare:

    MyType* fp = new MyType[100];

    per creare dinamicamente un array di 100 elementi MyType, che saranno inizializzati col costruttore senza argomentti.

    Se vuoi utilizzare un altro costruttore che prende argomenti non puoi farlo cosi, le possibili soluzioni sono

    - creare l'array come sopra e poi riassegnare tutti gli eleemnti dell'array con oggetti creati con gli argomenti opportuni;

    - creare un array di puntatori agli oggetti e poi inizializzare ogni singolo oggetto:

    MyType** fp = new MyType *[100];

    e poi con un ciclo for inizializzi fp[i] con un nuovo oggetto:

    fp[i] = new MyType(<lista degli argomenti per l'oggetto i>);


    - un'altra alternatica penso che potrebbe esere l'overloading dell'operatore new[] per la classe in modo da poter passare all'operatore anche gli argomenti con cui chiamare il costruttore di tutti gli oggetti (che saranno quindi tutti inizializzati con gli stessi argomenti), ma non ho mai approfondito questa soluzione.


    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3


    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 © 2024 vBulletin Solutions, Inc. All rights reserved.