3.283 cursos gratis
6.263.007 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Lenguaje C++. Guía para Programadores > Funciones Constructoras y Destructoras

Lenguaje C++. Guía para Programadores

Autor: Fernando Guerrero Tala
Curso:  4,38/5 4,38/5 (190 opiniones) |20742 alumnos|Fecha publicación: 01/07/2004

Capítulo 6:

 Funciones Constructoras y Destructoras

En los programas hay partes que requieren inicialización. Esta necesidad de inicialización es incluso más común cuando se está trabajando con objetos. Para tratar esta situación, C++ permite incluir una función constructora. A estas funciones se las llama automáticamente cada vez que se crea un objeto de esa clase.

La función constructora debe tener el mismo nombre que la clase de la que es parte, no tienen tipo devuelto, es ilegal que un constructor tenga un tipo devuelto. Pero si es posible pasarle valores a modo de parámetros.

Prototipo de la función:
nombre_fucion(parámetros);

Desarrollo de la función:
nombre_calse::nombre_funcion(parámetros){
  cuerpo;
}

EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
    int a;
public:
   miclase(); 
   void show();
};

miclase::miclase()
{ 
         a=100;
}

void miclase::show()
{
         cout << a;
}

void main()
{
   clrscr();
   miclase obj; 
   obj.show();
   getch();
}

El complemento de un constructor es la función destructora. A esta función se la llama automáticamente cuando se destruye el objeto. El nombre de las funciones destructoras debe ser el mismo que el de la clase a la que pertenece precedido del carácter ~ (alt+126). Los objetos de destruyen cuando se salen de ámbito cuando son locales y al salir del programa si son globales. Las funciones destructoras no devuelve tipo y tampoco pueden recibir parámetros.

Técnicamente un constructor y un destructor se utilizan para inicializar y destruir los objetos, pero también se pueden utilizar para realizar cualquier otra operación. Sin embargo esto se considera un estilo de programación pobre.

PROTOTIPO DE LA FUNCIÓN:
~nombre_funcion(parámetros);

DESARROLLO DE LA FUNCION:
nombre_clase::nombre_funcion(){
cuerpo;
}

EJEMPLO: Mismo programa de antes añadiendo una función destructora.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
int a;
public:
     miclase();
     ~miclase(); 
     void show();
};

miclase::miclase()
{
     a=100;
}

miclase::~miclase()
{ 
     cout << "Destruyendo...\n"; 
     getch();
}

void miclase::show()
{
     cout << a;
}

void main()
{
     clrscr();
     miclase obj;
     obj.show();
     getch();
}

CONSTRUCTORES CON PARAMETROS: Es posible pasar argumentos a una función constructora. Para permitir esto, simplemente añada los parámetros a la declaración y definición de la función constructora. Después, cuando declare un objeto, especifique los parámetros como argumentos.

EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
         int a;
public:
         miclase(int x);
     void mostrar();
};

miclase::miclase(int x)
{
         cout << "Constructor";
     a=x;
}

void miclase::miclase()
{
         cout <<"El valor de a es: ";
cout << a;
}

void main()
{
         miclase objeto(4);
     ob.show();
         getch();
}

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 190 opiniones. Opina sobre este curso.


Cursos similares a Lenguaje C++. Guía para Programadores


Cursos Valoración Alumnos Vídeo
Funciones en C (primera parte)
Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08]
 4,50/5 2.869  
C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del lenguaje hasta nuestros primeros pasos con aplicaciones web, acceso a bases de datos de... [14/07/05]
 3,50/5 8.500  
Holística informática
Aprende con nuestro curso de holística informática, sobre los avances informáticos que te ayudará a actualizarte conociendo más acer... [28/04/09]
4/5 1.300  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail