C/Visual C - Constructor y Destructor

 
Vista:

Constructor y Destructor

Publicado por Sacc Error (20 intervenciones) el 16/10/2001 14:14:43
Hola a todos. estoy trabajando con una pila dinamica dentro de una clase y debo introducir un constructor y un destructor. pero no se bien como se usa asi que les pido que me ayuden y me digan como puedo implementar esos conceptos dentro de mi programa. uso el trubo c++ para dos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Constructor y Destructor

Publicado por googol (255 intervenciones) el 16/10/2001 18:28:11
Un constructor es un método de una clase que se ejecuta siempre que se crea una variable (objeto) de esa clase. Y un destructor es un método que siempre se ejecuta cuando se destruye el objeto.
Tu pila dinámica seguramente guardará un puntero al siguiente elemento o algo así. Lo que tienes que hacer es en el constructor ponerlo a NULL, y en el destructor recorrerlos todos para irlos liberando.

class PilaDeEnterosDinamica {
public:
PilaDeEnterosDinamica(); // Constructor
~PilaDeEnterosDinamica(); // Destructor
Push(int valor);
int Pop();
....
private:
struct NodosPila { NodosPila* siguiente; int valor; }
NodosPila *primera;
}

PilaDeEnterosDinamica::PilaDeEnterosDinamica() {
// Constructor
primera = null;
}

PilaDeEnterosDinamica::~PilaDeEnterosDinamica() {
// Destructor. Recorremos todos los nodos y vamos
// liberandolos hasta acabar.
NodosPila *aux, *siguiente;
aux = primera;
while (aux != null) {
siguiente = aux->siguiente;
delete aux;
aux = siguiente;
}
}

void PilaDeEnterosDinamica::Push(int valor) {
NodoPila *nuevo;
nuevo = new NodoPila;
nuevo.valor = valor;
nuevo.siguiente = primera;
primera = nuevo;
}

// ......

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Constructor y Destructor

Publicado por Carlos de Leon (4 intervenciones) el 24/10/2001 22:37:44
Que tal.
Vi que ya te dieron una respuesta banstante acertada. Solo queria agregar que los constructores y destructores son necesarios solo cuando se utilizan metodos virtuales. También te quería comentar que muchas aplicaciones definen el constructor pero vacío (no hace nada), para que exista, aunque realmente no ejecute ninguna acción, y el constructor es comunmente utilizado para inicializar los valores de las variables (o atributos) de esa clase, o para que cuando se creen reciban de una vez determinado valor inicial (ya que se pueden mandar parámetros también a los constructores).
Espero te sirva de algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar