12.170 cursos gratis
8.759.801 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Lenguaje C++. Guía para Programadores

Autor: Fernando Guerrero Tala
Curso:
8,76/10 (191 opiniones) |37692 alumnos|Fecha publicación: 01/07/2004
Envía un mensaje al autor

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();
}

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

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



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Introducción al Lenguaje C
El lenguaje C apareció en 1972, en el diseño del sistema operativo UNIX. Este... [10/05/04]
73.701  
2. Guía de Comandos Rápidos de Linux
Linux es la principal expresión del software libre. Linux ofrece al usuario la... [14/06/04]
22.018  
3. Action Script 3. Lenguaje de programación
Action script 3 . Este curso de informática fue realizado especialmente para las... [04/05/11]
274
Curso con video

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