Constructor predeterminado en C ++

Constructor predeterminado en C ++
"Cuando se crea un objeto en C ++, se llama inmediatamente una técnica especial llamada Constructor de funciones. En general, se utiliza para configurar funciones miembros de nuevas clases. En C ++, el nombre de la clase sirve como el título del constructor. Cada vez que creamos un objeto, tenemos que invocar el constructor. Crea los valores, yo.mi., suministra datos al elemento; Por eso se lo conoce como un constructor.

El constructor predeterminado se utiliza para generar los objetos sin un valor inicial predefinido. Un constructor puede tener parámetros predeterminados, así como valores predeterminados. Si el usuario no especifica un constructor predeterminado, el compilador puede construir automáticamente uno y definirlo según sea necesario. Algunas configuraciones de los intervalos de clase deben ser realizadas por el constructor predeterminado especificado por el compilador. Pero dependiendo de la situación, el compilador crea instrucciones para el constructor predeterminado.

Repasaremos la funcionalidad del constructor predeterminado en este artículo."

Ejemplo no 1

Definamos una clase heredada por alguna otra clase que tenga un constructor predeterminado o cree una clase que contenga un elemento de alguna otra clase que tenga un constructor predeterminado. El objeto integrado de la clase y el objeto integrado de los constructores predeterminados debe ser invocado por el compilador incorporando el programa.

#incluir
usando el espacio de nombres STD;
base de clases
público:
;
Clase X
público:
X () Cout << "X Constructor" << endl;
tamaño int;
;
Clase L: Public X
;
Clase M: Public X
público:
METRO()

cout << "M Constructor" << endl;

;
Clase N
público:
NORTE()

cout << "N Constructor" << endl;

privado:
X x;
;
int main ()

Base base;
L l;
M m;
N n;
regresar 0;

En primer lugar, integraremos la biblioteca . Este archivo de encabezado contendrá diferentes funcionalidades de entrada y salida. Entonces utilizaremos el espacio de nombres estándar. En el siguiente paso, crearemos una clase base. Aquí el compilador declarará el constructor. Y lo fijamos en público. Ahora crearemos una clase llamada x. El constructor definido por el usuario se llamará públicamente. Inicializaremos un "tamaño" variable.

Además, crearemos un objeto de clase "L". El objeto de esta clase se establecerá como público. Aquí el compilador define el constructor predeterminado de la clase "L", e insertamos la clase para llamar al constructor del objeto. El compilador no inicializaría ningún valor de la clase X. Ahora, de nuevo, creamos una nueva clase llamada M. Construimos el objeto de la clase M, y luego lo especificamos como público.

Dentro de esta clase, creamos un constructor definido por el usuario de la Clase M. El compilador integrará la clase para invocar el constructor X. La declaración de "cout" se utilizará para mostrar el resultado. Creemos otra clase, n. Creamos públicamente un constructor de esta clase. Este será el constructor definido por el usuario. Luego se inserta el comando "Cout" para mostrar el resultado.

Aquí el compilador una vez más no inicializó ningún contenido relacionado con la clase N. Además, construiríamos el objeto "x" de la clase "x". Y este elemento de la clase podría mantenerse privado. Ahora llamamos a la función principal (). Invocamos los objetos de diferentes clases.

Ejemplo no 2

El compilador puede tener que insertar código en una variedad de situaciones para verificar que el idioma requiera una determinada configuración. El constructor predeterminado en este caso tiene dos argumentos: un argumento simple y un argumento predeterminado. Actualmente hay dos métodos para invocar el constructor predeterminado:

En primer lugar, podemos dar ambos valores de los parámetros que se proporcionarán al constructor predeterminado, sustituyendo el parámetro predeterminado con el valor que se proporcionó al ejecutar el constructor predeterminado.

El segundo enfoque se está utilizando para indicar que el argumento predeterminado está vacío. Cuando haga esto, "J" calculará una suma de 5 y utilizará su valor predeterminado de 0 como su valor deseado.

#incluir
usando el espacio de nombres STD;
Clase F
público:
int s = 0;
F();
F (int i, int j = 0)

s = i + j;

imprime vacío () cout << "Sum of two numbers =" << s << endl;
;
int main ()

F o_1 (23, 50);
F o_2 (5);
O_1.imprimir();
O_2.imprimir();
regresar 0;

Aquí vamos a incluir la biblioteca . Luego utilizamos el espacio de nombres estándar como STD. Ahora creamos la clase llamada "F". Dentro de esta clase, inicializaremos la variable denominada "S". Aquí el constructor predeterminado no tiene argumentos. El nombre del constructor y la clase será el mismo. Creamos otro constructor predeterminado de la clase "F". Pero aquí, pasamos dos variables (I y J) como el parámetro del constructor.

Además, emplearemos las fórmulas de la suma. Aquí agregamos el valor de una variable a otra. Luego llamamos al método Void Print (), y junto con esto, utilizamos la instrucción "Cout" para imprimir la declaración "Suma de dos valores". Ahora comencemos la codificación dentro del cuerpo de la función Main () después de llamar a esta función. Creamos dos objetos diferentes de la Clase F. El primer objeto, "O_1", tiene dos valores enteros como argumentos. La segunda variable, "O_2", contiene solo 1 valor como parámetro.

Invocaríamos el constructor en estos dos enfoques posibles. Utilizamos el método print () para ambos objetos respectivamente para mostrar la salida. Al final, habríamos estado usando la declaración "return 0".

Conclusión

En esta publicación, hablamos sobre la operación del constructor predeterminado. El constructor conserva un título similar al de la clase, está abierto al público y, por lo tanto, no contiene ningún tipo de retorno. En un constructor predeterminado, no proporcionaremos parámetros. Hemos ejecutado una variedad de programas, uno de los cuales muestra cómo usar el constructor predeterminado. Ilustramos que los constructores tendrían parámetros predeterminados en el segundo ejemplo. Creamos dos constructores predeterminados, uno sin argumentos y el otro con dos argumentos, y luego evaluamos su funcionalidad.