Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como vaciar un vector(stl) de punteros a una clase

Estas en el tema de como vaciar un vector(stl) de punteros a una clase en el foro de C/C++ en Foros del Web. buenas!, tengo una duda con respecto al destructor de una clase que diseñe. Dicha clase cuenta con un vector<> de punteros a otra clase, definido ...
  #1 (permalink)  
Antiguo 12/01/2012, 15:43
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
como vaciar un vector(stl) de punteros a una clase

buenas!, tengo una duda con respecto al destructor de una clase que diseñe.

Dicha clase cuenta con un vector<> de punteros a otra clase, definido como sigue:

Código C++:
Ver original
  1. vector<Producto*> __Consumo;

al programar el destructor de la clase he intentado vaciar el vector, liberando la memoria que este ocupa, pero me ha quedado la duda de si he hecho lo correcto. Implemento el siguiente codigo.

Código C++:
Ver original
  1. Mesa::~Mesa(){
  2.  
  3.  
  4. for (unsigned int i = 0; i < this->__Consumo.size(); i++) {
  5.     delete this->__Consumo[i];
  6.     }
  7.  
  8. this->__Consumo.resize(0);
  9. }
  10.  
  11. hubiera querido usar iteradores, pero no los entiendo muy bien, si alguien tiene alguna pagina donde los expliquen por favos pasenmela.
  12.  
  13. saludos
  #2 (permalink)  
Antiguo 12/01/2012, 18:57
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: como vaciar un vector(stl) de punteros a una clase

Le recomiendo usar el método eraser de la clase vector, puede revisar la referencia aquí. Eso sí debe de programar el destructor de su clase Producto.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #3 (permalink)  
Antiguo 12/01/2012, 22:23
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: como vaciar un vector(stl) de punteros a una clase

Muchas gracias!, justo lo que necesitaba, tambien me va a servir para las funciones que eliminan un elemento en especial..... me has solucionado 2 problemas jeje.

3 en realidad, porque no me acordaba de esa pagina.

saludos
  #4 (permalink)  
Antiguo 13/01/2012, 06:49
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: como vaciar un vector(stl) de punteros a una clase

Ok, no hay problema.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Etiquetas: clase, programa, punteros, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:52.