Método estático C ++

Método estático 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 del código. Significa que los métodos que una vez se escriben pueden llamarse repetidamente las tantas veces que 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 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 los 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 pasar por todos los ejemplos proporcionados 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 directamente a los métodos estáticos de una clase con el nombre de la clase mientras usa el operador de resolución de alcance. Para eso, hemos escrito un script C ++ que se muestra en la siguiente imagen:

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 "Printnum", Y toma el número" n "como su único parámetro. Dentro de esta función, simplemente queremos imprimir el valor de este número aprobado en el terminal. Como puede ver, no hemos definido ningún constructor para esta clase. Esto significa que no tenemos la intención de crear su objeto. En cambio, vamos a acceder a las funciones de esta clase directamente.

Ahora, dentro de nuestro "principal()"Función, hemos accedido al"Printnum"Función de la clase" Número "con la ayuda del nombre de clase y el operador de resolución de alcance. Mientras llamamos a esta función, le hemos pasado un número aleatorio, yo.mi., 25. Nuestro "principal()"La función concluye con la instrucción" return 0 "ya que declaramos que tenía un tipo de devolución entera.

Cuando compilamos y ejecutamos este script C ++, nuestro número se imprimió correctamente en el 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 directamente a los métodos estáticos directamente con el nombre de la clase sin crear ningún objeto, y funcionan exactamente como se esperaba.

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 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 enteros, 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 "Printnum", Y toma el número" n "como su único parámetro. Dentro de esta función, queremos imprimir el valor de este número aprobado en el 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()"Función, hemos accedido al"Printnum"Función de la clase" Número "con la ayuda del nombre de clase y el operador de resolución de alcance. Mientras llamamos a esta función, lo pasamos un número aleatorio, yo.mi., 25. Nuestro "principal()"La función concluye con la instrucción" return 0 "ya que declaramos que tenía un tipo de devolución entera.

Cuando compilamos y ejecutamos este script C ++, nuestro número, así como el valor de la variable "x", se imprimió correctamente en el 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 declarar 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 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, lo que indica que se puede acceder a algo así como el 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 utilizando los 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 ++ envolviendo nuestros ejemplos. Solo crearemos un programa para generar algunos números de rollo dentro del rango proporcionado. Para eso, hemos escrito un script 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" del tipo de datos enteros. Entonces, tenemos un método estático público "getRollNum ()"Con el tipo de retorno de entero. Fuera de la definición de esta clase, hemos inicializado nuestra variable "Rollnum" con un valor "1" y definimos nuestro "getRollNum ()"Función también para devolver el" rollnum "incrementado cada vez que se llama.

Entonces, dentro de nuestro "principal()"Función, tenemos un bucle" para "que itera a través de una variable de contador de" 0 "a" 9 ", que es para 10 iteraciones. Dentro de este bucle, queremos imprimir el valor devuelto por el "getRollNum ()"Función para cada iteración. De nuevo, el "principal()"La función termina 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 el terminal como se muestra en la siguiente imagen:

Conclusión

Nuestro objetivo para este artículo era 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, seguidos 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 comando sobre los métodos estáticos en C++. Esperamos que haya encontrado este artículo útil y consulte Linux Suger.