¿Qué es la función de miembro estático en C ++?



Este artículo le proporcionará un conocimiento detallado y completo de la función de miembro estático en C ++ con ejemplos.

Static es una palabra clave en C y C ++ que se usa para declarar un tipo especial de variable o función dentro o fuera de una clase. En esta publicación, entenderemos brevemente el concepto de variables miembro estáticas y funciones miembro estáticas en c ++ y las compararemos con variables y funciones normales en el siguiente orden:

Variables de miembros estáticos

Las variables clasificadas como estáticas también forman parte de C. Supongamos que en una función hay 2 variables, una es una variable normal y la otra es una variable estática. La variable normal se crea cuando se llama a la función y su alcance es limitado. Mientras que la variable estática se crea una vez y se destruye al final del programa. Estas variables tienen una vida útil durante todo el programa.





#include usando el espacio de nombres std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Salida:

static-member-variables-1



A partir del resultado anterior, podemos concluir que cada vez que se llamó a la función Test () se creó una copia de la variable 'y' mientras que se utilizó la misma copia de la variable 'x' cada vez que se llamó a la función Test ().

Ahora, analicemos las características de las variables estáticas

clases de almacenamiento en c ++
  1. Las variables estáticas se inicializan a 0. Se inicializa solo una vez.



  2. A lo largo del programa, solo se crea una copia de la variable miembro estática para toda la clase, por lo tanto, las variables miembro estáticas también se denominan variables de clase. Es compartido por todas las instancias de la clase.

    clase de almacenamiento c ++
  3. La variable miembro estática solo es visible dentro de la clase, pero su vida útil es hasta que finaliza el programa.

Consideremos un ejemplo de variables miembro estáticas en una clase.

#incluir usando el espacio de nombres de la clase estándar Ejemplo {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Salida:

A partir del resultado anterior, podemos ver que la variable 'x' se comparte entre todos los objetos. Para comprender el concepto de variables de datos estáticos en detalle, podemos pensar en una biblioteca donde hay varios libros colocados en diferentes estantes. Considere la biblioteca como una clase, la posición de un determinado libro 'x' como una variable miembro estática y los estudiantes como los objetos de la clase. Cuando el primer alumnollegó, coloca 'x' en una nueva posición ahora, cuando llegue otro estudiante, 'x' no volverá a su posición original, pero permanecerá donde la dejó el primer estudiante.

Funciones de miembros estáticos en C ++

Al igual que las variables miembro estáticas, tenemos funciones miembro estáticas que se utilizan para un propósito específico. Para crear una función miembro estática, necesitamos usar la palabra clave estática mientras declaramos la función. Dado que las variables miembro estáticas son propiedades de clase y no propiedades de objeto, para acceder a ellas necesitamos usar el nombre de la clase en lugar del nombre del objeto.

Propiedades de las funciones miembro estáticas:

  1. Una función estática solo puede acceder a otras variables o funciones estáticas presentes en la misma clase

  2. Las funciones miembro estáticas se llaman usando el nombre de la clase. Sintaxis-nombre_clase :: nombre_función ()

    que es evento en javascript

Consideremos un ejemplo clásico para comprender el concepto de funciones miembro estáticas en detalle. En este ejemplo, entenderemos todos los conceptos relacionados con las funciones miembro estáticas.

#incluir usando el espacio de nombres de la clase estándar Ejemplo {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

De la salida anterior, podemos ver que el valor de la variable 'n' es diferente para los objetos 'ejemplo1' y 'ejemplo2' de la clase 'Ejemplo'. Dado que la variable 'Número' es una variable de clase, su valor es el mismo para los objetos 'ejemplo1' y 'ejemplo2'. Las variables y funciones de miembros estáticos se utilizan cuando se van a compartir valores comunes entre todos los objetos. Durante la programación, el uso de palabras clave estáticas debe hacerse con prudencia.

Con esto, llegamos al final de este artículo sobre la función miembro estática en c ++. Si desea obtener más información, consulte el por Edureka, una empresa de aprendizaje en línea de confianza. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.