Método estático C++

Metodo Estatico C



Un método en C++ también se conoce como función, y el uso de métodos en C++ promueve el concepto de programación modular y reutilización de código. Significa que los métodos que se escriben una vez se pueden llamar de forma repetitiva tantas veces como sea necesario sin tener la necesidad de escribirlos cada vez. Estos métodos tienen las siguientes tres propiedades básicas:
  • Los métodos estáticos se pueden recuperar directamente con el nombre de la clase y el operador de resolución de alcance sin crear ningún objeto.
  • Los métodos estáticos de una clase solo pueden acceder a los miembros estáticos de esa clase.
  • Los métodos estáticos no pueden acceder a los miembros no estáticos de una clase.

Hemos diseñado este artículo para enseñarle el uso de métodos estáticos en C++ en Ubuntu 20.04.

Usando el método estático en C++ en Ubuntu 20.04

Para usar los métodos estáticos en C++ en Ubuntu 20.04, primero debe revisar todos los ejemplos que se proporcionan a continuación para tener una buena idea de cómo funcionan estas funciones en C++.







Ejemplo # 1: Explorando la Primera Propiedad de los Métodos Estáticos en C++

En este ejemplo, deseamos explorar la primera propiedad de los métodos estáticos en C++; Se puede acceder a los métodos estáticos de una clase directamente con el nombre de la clase mientras se usa el operador de resolución de alcance. Para eso, hemos escrito un script en C++ que se muestra en la siguiente imagen:



  Método estático C++



En este script C++, hemos definido una clase llamada 'Número'. Dentro del cuerpo de esta clase, solo tenemos una función pública. Hemos declarado esta función como “estática”. El nombre de esta función es “ ImprimirNum ”, y toma como único parámetro el número “n”. Dentro de esta función, simplemente queremos imprimir el valor de este número pasado en la terminal. Como puede ver, no hemos definido ningún constructor para esta clase. Esto significa que no pretendemos crear su objeto. En cambio, vamos a acceder directamente a las funciones de esta clase.





Ahora, dentro de nuestro “ principal() ”, hemos accedido a la función “ ImprimirNum ” función de la clase “Número” con la ayuda del nombre de la clase y el operador de resolución de alcance. Al llamar a esta función, le hemos pasado un número aleatorio, es decir, 25. Nuestro “ principal() ” finaliza con la instrucción “return 0” ya que declaramos que tiene un tipo de retorno entero.

Cuando compilamos y ejecutamos este script C++, nuestro número se imprimió correctamente en la terminal, como se muestra en la imagen a continuación. Significa que se ha satisfecho la primera propiedad de los métodos estáticos en C++: se puede acceder a los métodos estáticos directamente con el nombre de la clase sin crear ningún objeto, y funcionan exactamente como se esperaba.



  Método estático en C++

Ejemplo # 2: Explorando la Segunda Propiedad de los Métodos Estáticos en C++

En este ejemplo, queremos explorar la segunda propiedad de los métodos estáticos en C++; los métodos estáticos de una clase solo pueden acceder a los miembros estáticos de esa clase. Para eso, hemos escrito un script en C++ que se muestra en la siguiente imagen:

En este script C++, primero hemos definido una clase llamada 'Número'. Dentro del cuerpo de esta clase, tenemos un miembro privado 'x' que es de tipo de datos entero y lo hemos hecho estático. Entonces, solo tenemos una función pública. Hemos declarado esta función como “ estático ”. El nombre de esta función es “ ImprimirNum ”, y toma como único parámetro el número “n”. Dentro de esta función, queremos imprimir el valor de este número pasado en la terminal y el valor del miembro estático 'x'.

Después de eso, hemos inicializado el miembro estático 'x' con un valor '10' con la ayuda del nombre de la clase fuera de nuestra clase sin usar la palabra clave 'estática' nuevamente. Ahora, dentro de nuestro “ principal() ”, hemos accedido a la función “ ImprimirNum ” función de la clase “Número” con la ayuda del nombre de la clase y el operador de resolución de alcance. Al llamar a esta función, le pasamos un número aleatorio, es decir, 25. Nuestro ' principal() ” finaliza con la instrucción “return 0” ya que declaramos que tiene un tipo de retorno entero.

Cuando compilamos y ejecutamos este script C++, nuestro número, así como el valor de la variable “x”, se imprimieron correctamente en la terminal, como se muestra en la imagen a continuación. Significa que se ha satisfecho la segunda propiedad de los métodos estáticos en C++: los métodos estáticos solo pueden acceder a los miembros estáticos de una clase en C++.

Ejemplo # 3: Explorando la Tercera Propiedad de los Métodos Estáticos en C++

En este ejemplo, deseamos explorar la tercera propiedad de los métodos estáticos en C++, que es, de hecho, la otra forma de enunciar la segunda propiedad; los métodos estáticos no pueden acceder a los miembros no estáticos de una clase. Para eso, hemos escrito un script en C++ que se muestra en la siguiente imagen:

Este script C++ se ve exactamente como el script que se muestra en el segundo ejemplo. Sin embargo, la única diferencia es que esta vez no hemos declarado la variable “x” como estática.

Cuando compilamos y ejecutamos este script C++, se generó un mensaje de error en el terminal como se muestra en la imagen a continuación, que indica que no se puede acceder al valor de 'x' mediante un método estático en C++. Significa que se ha satisfecho la tercera propiedad de los métodos estáticos en C++: los métodos estáticos no pueden acceder a ningún miembro no estático de una clase en C++.

Ejemplo # 4: Generación de números de rollo consecutivos mediante el uso de métodos estáticos en C++

En este ejemplo, solo queríamos dar una visión general de cómo funcionan los métodos estáticos en C++ finalizando nuestros ejemplos. Solo crearemos un programa para generar algunos números de rollo dentro del rango provisto. Para eso, hemos escrito un script en C++ que se muestra en la siguiente imagen:

En este script C++, tenemos una clase llamada 'RollNumber'. Dentro de esta clase, tenemos un miembro estático privado 'RollNum' de tipo de datos entero. Entonces, tenemos un método estático público “ obtenerRollNum() ” con el tipo de retorno entero. Fuera de la definición de esta clase, hemos inicializado nuestra variable “RollNum” con valor “1” y definido nuestra “ obtenerRollNum() ” también para devolver el “RollNum” incrementado cada vez que se llama.

Entonces, dentro de nuestro “ principal() ”, tenemos un bucle “for” que itera a través de una variable de contador de “0” a “9”, que es para 10 iteraciones. Dentro de este ciclo, queremos imprimir el valor devuelto por el “ obtenerRollNum() ” función para cada iteración. De nuevo, el “ principal() La función finaliza con la instrucción 'return 0'.

Cuando compilamos y ejecutamos este script C++, se generó una serie de 10 números de rollo diferentes en la terminal, como se muestra en la siguiente imagen:

Conclusión

Nuestro objetivo para este artículo fue enseñarle el uso de los métodos estáticos en C++ en Ubuntu 20.04. Compartimos las propiedades básicas de estos métodos, seguidas de los cuatro ejemplos a través de los cuales puede aprender instantáneamente cómo funcionan estos métodos en C++. Después de comprender estos ejemplos, puede adquirir fácilmente un buen dominio de los métodos estáticos en C++. Esperamos que este artículo le haya resultado útil y consulte Linux Hint para obtener más artículos informativos.