3.201 cursos gratis
6.233.243 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) |20141 alumnos|Fecha publicación: 01/07/2004
Capítulos del curso

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.

Descarga el PDF gratis

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


Cursos Valoración Alumnos Vídeo
Procesamiento de datos con Oracle
Curso para aprender desde qué son los datos hasta cómo se transforman en información con la ayuda de un gestor de base de datos como Oracle. Disfruta de las herramientas ... [24/02/06]
5/5 3.996  
Algoritmos en QBASIC. Manual
Este manual de QBASIC es una colección linkografica y bibliográfica sobre el uso de QBASIC frente a la propuesta de solucionar los casos más comunes d... [26/10/09]
0/5 239  
PHP y MySQL. Aplicaciones Web: base de datos MySQL III (novena parte)
Programación de aplicaciones Web con PHP y MySQL Seguimos con el estudio de la base de datos MySQL. En esta ocasión te enseñaremos a importar y ex... [02/12/08]
4/5 508  


Publicar en   del.icio.us    digg    meneame

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