Constructores de clases C ++

C Class Constructors



Los constructores son como funciones. Estos se utilizan para inicializar los valores y los objetos de la clase. Estos constructores se inician cuando se crea el objeto de una clase. Constructor directamente no devuelve ningún valor. Para obtener el valor del constructor, necesitamos describir una función separada ya que el constructor no tiene ningún tipo de retorno. Constructor se diferencia de la función simple en diferentes formas. Se crea un constructor cuando se genera el objeto. Se define en el segmento público de la clase.

En este artículo, deliberaremos sobre todos estos tipos de constructores con ejemplos.







Ejemplo 1

Esta es una ilustración de un constructor predeterminado. Como sabemos, los constructores se crean automáticamente por defecto cuando creamos un objeto de una clase. A esto se le llama creación implícita. Los constructores tienen el mismo nombre que el nombre de la clase. Considere un archivo que tiene el código c ++ del constructor, ya que sabemos que la clase tiene dos opciones, privada y pública. La parte privada contiene las variables de datos, mientras que la parte pública es para las funciones recuperadas por cualquier objeto. Entonces, el constructor también se define en la parte pública.



Entero()

{

x=50;

y=20;

};

En este constructor, los valores se asignan a las variables. Si queremos obtener los valores como salida, tenemos que imprimirlos en el programa principal.







Después de definir el constructor, la clase se cierra. Al ingresar al programa principal, imprimiremos los valores usando un objeto. El objeto siempre accede a los constructores, ya que son partes de la clase. La creación de objetos es tan simple. Se hace introduciéndolo con el nombre de la clase. Ese es un número entero en este ejemplo. El valor se obtendrá mediante el método de puntos. es decir, a.x.

Podemos ver la salida del código fuente del terminal en Ubuntu. El enfoque utilizado para obtener el resultado es bastante sencillo. Primero se compila el código y luego se ejecuta. Usamos el compilador G ++ para el proceso de compilación. Al igual que en el caso de C, usamos GCC.



$ G++ -o filec filec.c

./filec

-O se utiliza para guardar la salida en el archivo.

Ejemplo 2

En esta ilustración, vamos a explicar los constructores parametrizados. A diferencia del ejemplo anterior, también podemos pasar los argumentos a los constructores desde el programa principal. Cuando se genera el objeto, estos valores se pasan automáticamente a las variables presentes en el constructor para recibir el valor. Algunos de los usos de los constructores parametrizados son.

  • Se usa para inicializar diferentes variables con diferentes valores dentro de los constructores cuando se inicializa.
  • Se utiliza en la sobrecarga de constructores. Se define más adelante en el artículo.

Consideremos ahora la ilustración que hemos descrito para elaborar este concepto. La clase tiene el nombre entero, así que definitivamente, el nombre del constructor también será el mismo. En los parámetros del constructor, hay dos valores de tipo entero. Estos se inicializan para aceptar los valores que se envían desde el programa principal como una llamada de función.

Entero( En tx,En ty)

{

A=x;

B=y;

};

En el ejemplo anterior, las variables dentro del constructor recibieron los valores. Mientras que en este constructor, las variables se asignan con las variables que tienen el valor.

Si queremos tomar la pantalla, necesitamos definir una función que devolverá el valor ya que no es posible acceder a esa variable inicializada directamente desde el constructor.

En tgetX()

{

regresoa;

};

Ahora veremos la parte principal del programa. Aquí, cuando se crea el objeto, puede ver los valores en la sección de parámetros.

Entero v(70,55); {implícito}

entero v=entero(10,15); {explícito}

Y para mostrar el resultado, llamaremos a las funciones creadas dentro de la clase usando el objeto. es decir, v.getx ().

El método de búsqueda de registros es el mismo que se presentó anteriormente.

Ejemplo 3

Este ejemplo trata de la copia de un constructor de una clase. Se utiliza un constructor copiado para inicializar el objeto con otro objeto de una clase similar a la que pertenece. Este constructor copia los datos presentes en un objeto al otro. Los parámetros de este constructor contienen la dirección de un objeto de la clase. Considere los ejemplos dados, en los que hemos introducido dos variables del mismo tipo de datos para que estas puedan acceder por cualquier función dentro de la clase. El constructor recibirá los valores a través de la variable. Al mismo tiempo, el constructor copiado recibirá solo el objeto. Y con la ayuda de este objeto, se recuperarán los valores.

pared(pared&obj)

{

Largo=obj.largo;

Altura=obj.altura;

}

Tenemos que calcular el área, por lo que la función para este cálculo se define aquí. Esto devolverá el valor a la función principal cuando se llame. Ahora observaremos el programa principal del código.

La llamada a la función del constructor copiado será así.

Pared wall2=wall1;

El objeto llama al constructor copiado y los datos del primer objeto se copian a través de él. Además, llamaremos a la función para calcular el área a través de ambos objetos.

Desde la salida, puede ver que el resultado de ambos constructores es el mismo. Significa que el objeto ha copiado correctamente todos los datos.

Ejemplo 4

Esta es una ilustración de la sobrecarga del constructor. Ocurre cuando tenemos que usar más de una función dentro de la clase. La sobrecarga de constructores sigue las instrucciones de los constructores parametrizados. Todos los constructores de la clase tienen un nombre similar al de la clase. Pero a cada uno de los constructores se le asignan diferentes parámetros. Cada constructor se llama de acuerdo con el argumento cuando creamos el objeto.

Considere el ejemplo dado, en el que hemos utilizado tres constructores. Uno no tiene ningún argumento. El segundo es con un solo argumento, mientras que el tercero es con dos argumentos. Esta ilustración es similar a la anterior. Como calculamos el área en la función separada descrita dentro de la clase.

// Constructor con dos argumentos

forma(En tx,En ty)

{

a=x;

b=y;

};

Ahora, moviéndonos hacia el programa principal, podemos ver que cuando iniciamos el objeto de clase, el constructor sin argumento es llamado por defecto. Ahora necesitamos llamar a otros constructores con diferentes objetos que tienen diferentes argumentos.

Forma s;

Forma s2(8);

Forma s3(4,2);

La función a través de la cual podemos mostrar el valor se llama a través del mismo objeto creado.

Para ver la salida, utilizaremos el mismo método de terminal de comando compilando y ejecutando el código presente en el archivo.

De la salida, podemos ver que la respuesta es la misma para cada constructor.

Conclusión

En este tutorial, hemos visto los conceptos básicos de los constructores y sus funcionalidades, incluido cómo sobrecargarlos. Los constructores se utilizan para inicializar las variables con los valores.