Autor Tema: Constructores y destructores en C++ (cplusplus)  (Leído 6781 veces)

slif33r

  • Sin experiencia
  • *
  • Mensajes: 28
    • Ver Perfil
Constructores y destructores en C++ (cplusplus)
« en: 28 de Febrero 2013, 21:03 »
Hola no se si me podrian explicar en si(función) que es lo que hacen y para que sirven los constructores y destructores y si necesariamente tienen que ir juntos al momente de crear alguna clase.

El lenguaje que estoy usando es el C++.

Gracias por las repuestas que pueda recibir.
« Última modificación: 11 de Mayo 2015, 19:07 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Constructores y destructores
« Respuesta #1 en: 28 de Febrero 2013, 21:56 »
Aquí tienes una explicación sobre qué son los constructores. La explicación es para java, pero puedes aplicarla igualmente a C++ ya que java y C++ puede decirse que son primo-hermanos:

https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=426:ique-es-una-clase-java-concepto-atributos-propiedades-o-campos-constructor-y-metodos-cu00623b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

slif33r

  • Sin experiencia
  • *
  • Mensajes: 28
    • Ver Perfil
Re:Constructores y destructores
« Respuesta #2 en: 28 de Febrero 2013, 23:23 »
NO dice nada de los destructores, para que usarlas y necesariamente tiene que tener el mismo nombre de la clase

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Constructores y destructores
« Respuesta #3 en: 01 de Marzo 2013, 10:29 »
Los destructores son algo menos importante. No siempre se incluyen en las clases. Su función es liberar la memoria usado por un objeto cuando este deja de ser útil y en general se usan trabajando con punteros, no con variables normales.

Ejemplo:

#include <iostream>
#include <cstring>
using namespace std;
 
class miClase {
  public:
   miClase();        // Constructor por defecto
   ~miClase();       // Destructor
//Aquí más código

};
 
miClase::miClase() : mic(NULL) {}

// Aquí más código

miClase::~miClase() {
   delete[] mic;        // Deja libre la memoria reservada
}

int main() {
// ... aquí más código
// Declaramos un puntero
mic *NombreDePuntero;

delete NombreDePuntero; // Libera el espacio de memoria al que apunta el puntero
}

Ver http://es.wikipedia.org/wiki/Destructor_%28inform%C3%A1tica%29

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".