Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Un constructor copia se utiliza para declarar e inicializar un objeto a partir de otro. Por ejemplo;
entero I2(I1);
definirá el objeto I2 y, al mismo tiempo, lo inicializara con los valores de I1
El proceso de inicializar a través de un constructor copia es conocido inicialización copia
Los constructores también pueden ser utilizados para la asignación dinámica de memoria justo en el momento de la creación de objetos. esto permite al sistema asignar la cantidad correcta de memoria a cada objeto, cuando estos no son del mismo tamaño, lo que da como resultado un ahorro de memoria
Podemos construir variables de tipo matriz utilizando objetos de tipo clase
Es posible definir constructores con argumentos predeterminados; por ejemplo el constructor complejo() puede declararse tal y como se muestra a continuación:
complejo(float real, float imag=0);
Podemos crear y utilizar objetos constantes usando la palabra clave const antes de la declaración de objetos. Por ejemplo. Podemos crear X como un objeto constante de la clase matriz tal y como se muestra a continuación;
const matriz X(m,n); // el objeto X es constante
cualquier intento de modificar m,n generara un error al copilar
Un miembro constante es un prototipo de función o una definición de función.
Los objetos de clases pueden ser también inicializados de forma dinámica. Esto quiere decir que el valor inicial de un objeto podrá ser proporcionado en tiempo de ejecución.
una de las ventajas de la inicialización dinámica es que proporciona varios formatos de inicialización utilizando constructores sobre cargados.
El constructor entero (); definido anteriormente, inicializa los datos miembro de todos los objetos a cero. Sin embargo en la practica se hace necesaria la inicialización de distintos atributos de diferentes objetos con diferentes valores cuando estos son creados
Los constructores que pueden tomar argumentos son llamados constructores Parametrizados
Class entero
{
int m, n;
public:
entero (int x, int y); // constructor parametrizado
…..
…..
};
entero :: entero (int x , int y)
{
m = 0; n = 0;
}
Un destructor, se utiliza para destruir objetos que han sido creados por un constructor, el destructor es una función miembro cuyo nombre es el mismo que el nombre de la clase, pero precedida por una tilde. un destructor nunca tiene argumentos y no devuelve ningún valor, sera invocado de forma implícita por el compilador cuando el programa finaliza para limpiar la zona de memoria ocupada que ya no es accesible
hasta ahora hemos utilizado dos clases de constructores que son;
entero(); // sin argumentos
entero(int, int); // Dos argumentos
en el primer caso el constructor proporciona los valores de los datos miembros y el segundo caso la función resibe los valores apropiados des de el main(). C++ permite utilizar ambos constructores en la misma clase como`por ejemplo:
Class entero
{
int m, n;
public:
entero (m=0; n=0;) // constructor 1
entero (int a, int b) // constructor 2
{m=a; n=b;}
entero(entero& i) // constructor 3
{m= i.m; n = i.n;}
};
Un constructor es una función miembro “especial” cuya tarea es la de inicializar los objetos de su clase.
El constructor se invoca siempre que se crea un objeto de su clase asociada
Se le asigna el nombre de constructor porque construye los valores de los datos miembros de la clase
Class entero // clase con un constructor
{
int m, n;
public:
entero (void); // constructor declarado
…..
…..
};
entero :: entero (void) // constructor definido
{
m = 0; n = 0;
}
1.-Son declaradas en la sección publica.
2.-Son invocadas de forma automática cuando los objetos son creados.
3.-No tienen tipo de retorno, ni siquiera void y, por tanto, no puede retornar ningún valor.
4.-No puede heredarse, aunque una clase derivada podrá llamar al constructor de la clase base.
5.-Al igual que otras funciones en C++, puede tener argumentos predeterminados.
6.-Los constructores no pueden ser virtuales.
7.-No se puede hacer referencia a sus direcciones
8.-Un objeto con un constructor (o destructor )no puede ser utilizado como miembro de una unión.