PDA

Visualizza la versione completa : [C++] Eliminazione elemento da vettore


Pheromoth
06-02-2013, 14:04
Salve ragazzi, ho un programma in cui mi viene chiesto, una volta creata la classe Vettore Dinamico, (che è un vettore di classi PacchettoRegalo: questa classe ha due char e un float che ne indica il peso come variabili membro) di definire una funzione membro Elimina che elimini tutti i pacchetti di peso maggiore di un certo valore.
Ora, tralasciando la condizione, che non credo richieda altro che un ciclo, come faccio effettivamente ad eliminare un elemento dal vettore? Fare un pop non servirebbe a niente perché non eliminerebbe il PacchettoRegalo. Dovrei usare un oggetto di PacchettoRegalo con le variabili membro nulle e sostituirlo nelle posizioni? Se ne avete bisogno vi posto il codice, ma fondamentalmente vorrei capire come si elimina un elemento da un array.
Grazie in anticipo!

oregon
06-02-2013, 14:07
Facci vedere meglio l'array di cui parli ... mostra il codice e ne riparliamo.

Pheromoth
06-02-2013, 17:23
Ok:)

http://pastebin.com/rjk7AM0R - il Main
http://pastebin.com/u4jcXqf8 - Header File della classe Pacchetto
http://pastebin.com/LnNqvELp - implementazione delle sue funzioni
http://pastebin.com/jf0GC4Ec - classe i un'eccezione, non ci interessa qui comunque
http://pastebin.com/9aUXHaTq - Header File della classe ListaPacchetti
http://pastebin.com/aHarFuEN - implementazione delle sue funzioni

Nell'Header File della ListaPacchetti c'è appunto la classe ListaPacchetti, realizzata con un vettore dinamico.
Fra le sue funzioni membro, ne dovrei aggiungere una, Elimina, che elimina gli eventuali Oggetti (che sono di classe Pacchetto) che hanno la variabile membro "Peso" maggiore di 500.

Loading