Diferencia entre revisiones de «Constructor (C++)»

Línea 1: Línea 1:
{{Normalizar}}{{Definición
+
{{Definición
 
|nombre= Constructor en C++
 
|nombre= Constructor en C++
 
|imagen=
 
|imagen=
 
|tamaño=
 
|tamaño=
 
|concepto= Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase cuando se declara.
 
|concepto= Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase cuando se declara.
}}'''Constructor en C++'''. Los constructores tienen el mismo nombre que la clase, no retornan ningún valor y no pueden ser heredados. Además deben ser públicos, no tendría ningún sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.
+
}}'''Constructor en C++'''. Los constructores tienen el mismo nombre que la clase, no retornan ningún valor y no pueden ser heredados. Además deben ser públicos, no tendría ningún sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.<br>
  
 
==Ejemplo de constructor en una clase llamada pareja==
 
==Ejemplo de constructor en una clase llamada pareja==
  
[[Archivo:cODIGO.jpg.JPG]]
+
<span style="color:blue">#include <iostream.h></span>
 +
'''class''' pareja
 +
{
 +
  '''public:'''
 +
    <span style="color:green">//Constructor</span>
 +
    pareja('''int''' a2, '''int''' b2);
 +
    <span style="color:green">//Funciones miembros de la clase "pareja"</span>
 +
    '''void''' Lee('''int''' &a2, '''int''' &b2);
 +
    '''void''' Guardar('''int''' a2, '''int''' b2);
 +
  '''private:'''
 +
    <span style="color:green">//Datos miembros de la clase "pareja"</span>
 +
    '''int''' a, b;
 +
}
 +
pareja::pareja('''int''' a2, '''int''' b2)
 +
{
 +
    a = a2;
 +
    b = b2;
 +
}
 +
'''void''' pareja::Lee('''int''' &a2, '''int''' &b2)
 +
{
 +
    a2 = a;
 +
    b2 = b;
 +
}
 +
'''void''' pareja::Guarda('''int''' a2, '''int''' b2)
 +
{
 +
    a = a2;
 +
    b = b2;
 +
}
 +
'''int main'''('''int''' argc, '''char *'''argv[])
 +
{
 +
    pareja par1(12, 32);
 +
    '''int''' x, y;
 +
    par1.Lee(x, y);
 +
    '''cout''' << "Valor de par1.a: " << x <<'''endl''';
 +
    '''cout''' << "Valor de par2.b: " << x <<'''endl''';
 +
    '''return''' 0;
 +
}
 +
}
  
 
==Sobrecarga de constructores==
 
==Sobrecarga de constructores==

Revisión del 09:01 30 may 2011

Constructor en C++
Información sobre la plantilla
Concepto:Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase cuando se declara.

Constructor en C++. Los constructores tienen el mismo nombre que la clase, no retornan ningún valor y no pueden ser heredados. Además deben ser públicos, no tendría ningún sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.

Ejemplo de constructor en una clase llamada pareja

#include <iostream.h>
class pareja
{
  public:
   //Constructor
   pareja(int a2, int b2);
   //Funciones miembros de la clase "pareja"
   void Lee(int &a2, int &b2);
   void Guardar(int a2, int b2);
  private:
   //Datos miembros de la clase "pareja"
   int a, b;
}
pareja::pareja(int a2, int b2)
{
   a = a2;
   b = b2;
}
void pareja::Lee(int &a2, int &b2)
{
   a2 = a;
   b2 = b;
}
void pareja::Guarda(int a2, int b2)
{
   a = a2;
   b = b2;
}
int main(int argc, char *argv[])
{
   pareja par1(12, 32);
   int x, y;
   par1.Lee(x, y);
   cout << "Valor de par1.a: " << x <<endl;
   cout << "Valor de par2.b: " << x <<endl;
   return 0;
}
}

Sobrecarga de constructores

También pueden definirse varios constructores para cada clase, es decir, la función constructor puede sobrecargarse. La única limitación es que no pueden declararse varios constructores con el mismo número y el mismo tipo de argumentos.

Constructor copia

Un constructor de este tipo crea un objeto a partir de otro objeto existente. Estos constructores sólo tienen un argumento, que es una referencia a un objeto de su misma clase.

Fuente