[C con Clase] duda con constructores

victor the.lonesome en gmail.com
Vie Dic 21 22:22:27 CET 2012


Un constructor sirve para darle valores iniciales a sus propiedades a las propieades de nuestros objetos.

Por ejemplo, podrías tener un objeto "persona" que tenga una propiedad "nacimiento", así, con un constructor, podrías inicializar su propiedad "nacimiento" con la fecha actual. Así podrías crear un objeto hoy, un objeto mañana o cualquier otro día y con el contructor puedes darle una fecha de nacimiento diferente a cada objeto.

Generalmente las "propiedades" que se inicializan con los constructores son propiedades que no deben estar "vacías" o sea, que siempre tienen que tener algún valor. Como en el ejemplo que te pongo, una persona siempre debe tener una fecha de nacimiento (incluso antes de tener un nombre).

Para cosas un poquito más abstractas como podría ser, un circulo, podría ser que, desde el momento en que creas un círculo, necesites darle un radio (un circulo sin un radio sería más bien un punto).

Entonces, en general los constructores sirven para inicializar las propiedades del objeto desde su creación, sin necesidad de llamar varias funciones para darle valor a esas propieades.

Ejemplo:

class Persona {
private:
int mes, dia, anio;
public:
Persona();
}

Persona::Persona() {
mes = month();
dia = day();
anio = year();
}

En este caso las propieades mes, dia y anio indican la fecha de nacimiento de la persona, y las funciones month(), day(), year() son cualquier conjunto de funciones que te devuelven el mes, dia y año (es sólo un ejemplo, esas funciones no existen en la librería estandar). La idea es que, cuando tú creas tu objeto persona, con el constructor automáticamente le das valores a la fecha de nacimiento (ya que cada persona tiene que tener una obligatoriamente) sin necesidad de llamar manualmente a funciones separadas para darle valor a la fecha.

Espero que haya quedado claro. Saludos!

El 21/12/2012, a las 15:01, fanatidark escribió:

> mi duda es como se declaran los constructuoros y para que me sirven , ya leí el curso pero no le entiendo my bien alguien me puede decir bien y si pueden poner un ejemplo se los agradecería mucho gracias
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ





Más información sobre la lista de distribución Cconclase