Uso de la función de miembro estático en C ++

Uso de la función de miembro estático en C ++
El bloque de código que se define con un nombre en cualquier lenguaje de programación se llama función. El código de una función se ejecuta cuando la función se llama en cualquier lugar desde el código. Se pueden declarar dos tipos de funciones. Una es una función normal, y otra es una función de miembro estático. La función de miembro estático se declara para un propósito especial. La palabra clave estática se usa para declarar la función de miembro estático. Este tipo de función puede acceder a otras variables o funciones estáticas de la misma clase solamente. Esta función se llama utilizando el nombre de la clase donde se declara la función. En este tutorial, se discutirá el uso de la función de miembro estático en la clase C ++.

Ejemplo 1: Uso de la función de miembro estático simple

La forma de definir una función de miembro estático simple en una clase C ++ y llamar a la función usando el nombre de clase se muestra en el siguiente ejemplo. Una clase con una función de miembro estático nombrado Info () ha definido en el código lo que imprimirá un mensaje de texto simple. El Info () se ha llamado a la función usando el nombre de clase sin crear el objeto de la clase.

// incluye biblioteca para E/S
#includeiostream>
usando el espacio de nombres STD;
// Defina la clase
Uso de clases deMember

público:
// declarar la función de miembro estático
Información nula estática ()

cout << "The static member function is called.\n";

;
int main ()

// Llamar a la función de miembro estático
UseOfstaticMember :: info ();

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior:

Ejemplo 2: imprima la variable estática desde la función de miembro estático

La forma de implementar la variable estática utilizando la función miembro estática de una clase se muestra en el siguiente ejemplo. Una clase con una variable estándar, una variable estática, dos funciones públicas y una función de miembro estático se ha declarado en el código. El incremento() la función se ha definido para incrementar los valores de ambas variables. El display_val () La función se ha definido para imprimir el valor de la variable normal. El display_static_val () La función se ha definido para imprimir el valor de la variable estática. Se han creado dos objetos de la clase, y el incremento() la función se ha llamado dos veces utilizando los dos objetos. A continuación, el display_val () La función se ha llamado usando el segundo objeto y el display_static_val () se ha llamado a la función usando el nombre de clase.

// incluye biblioteca para E/S
#incluir
usando el espacio de nombres STD;
// Defina la clase
Uso de clases deMember

static int static_num;
int normal_num = 0;
público:
// Declarar la función para incrementar los valores de los números
incremento nulo ()
Normal_num ++;
static_num ++;

// Declarar la función para mostrar el valor de Normal_num
void display_val ()
cout << "The current value of normal number = " << normal_num << "\n";

// declarar la función de miembro estático
static void display_static_val ()
cout << "The current value of static number = " << static_num << "\n";

;
// Declarar el miembro de datos estáticos
int UseOfstaticMember :: static_num;
int main ()

// Crea los objetos de la clase
UseOfstaticMember Object1, Object2;
// Incrementa los valores utilizando el primer objeto
objeto1.incremento();
// imprime los valores de la variable normal
objeto1.display_val ();
// Incrementa los valores utilizando el segundo objeto
objeto2.incremento();
// imprime los valores de la variable normal
objeto2.display_val ();
// imprime los valores de la variable estática
UseOfstaticMember :: display_static_val ();
regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior:

Ejemplo 3: Acceder a la función de miembro estático usando clase y objeto

En los dos ejemplos anteriores, se accede a la función de miembro estático de la clase utilizando el nombre de la clase. Las formas de acceder a la función del miembro estático utilizando tanto el nombre de clase como el objeto de la clase se han mostrado en este tutorial. Se ha definido una clase con tres variables estáticas y una función de miembro estático en el código. Las variables estáticas se han inicializado fuera de la clase. A continuación, la función de miembro estático nombrado Mostrar() se ha llamado directamente usando el nombre de clase y el objeto de la clase.

// incluye biblioteca para E/S
#incluir
usando el espacio de nombres STD;
// Defina la clase
Uso de clases deMember

privado:
// Defina los miembros de los datos estáticos
ID de cadena estática;
nombre de cadena estática;
salario de int estático;
público:
// Defina la función de miembro estático
Display static void ()

cout <<"ID: " << ID << "\n";
cout <<"Name: " << Name << "\n";
cout <<"Salary: " << Salary << "\n";

;
// Inicializar los miembros de los datos estáticos
String UseOfstaticMember :: id = "673456";
cadena ÚsefstaticMember :: name = "Mahmuda Afroz";
int UseOfstaticMember :: salario = 70000;
int main ()

cout<<"Print static memebers using class name:\n";
UseOfstaticMember :: Display ();
Use de los miembros del miembro del member;
cout << "\nPrint static members using object:\n";
obj.Mostrar();
regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior:

Ejemplo 4: Cuente el número total de objetos

La forma de contar e imprimir el número total de objetos de una clase es mediante una variable y función de miembro estático, como se muestra en el siguiente ejemplo. Una clase con un constructor, una variable estática y una función de miembro estático se ha definido en el código. El valor de la variable estática se inicializa a 0. El valor de la variable estática se incrementará en 1 cuando se creará un objeto de la clase. Se crean tres objetos de la clase dentro de la función Main (). A continuación, se ha llamado a la función de miembro estático para imprimir el número total de objetos de la clase.

// incluye biblioteca para E/S
#incluir
usando el espacio de nombres STD;
// Defina la clase
Uso de clase deMember
// Declarar el miembro de datos estáticos
contador estático int;
público:
// Declarar el constructor
UseOfstaticMember ()
cout <<"The constructor is called.\n";
// aumentar el valor del miembro de datos estáticos
Contador ++;

static int count_objects ()

contador de regreso;

;
// Inicializar el miembro estático
int UseOfstaticMember :: contador = 0;
int main (void)
// crear tres objetos de la clase
UseOfstaticMember Object1, Object2, Object3;
// Imprima el número total de objetos creados
cout << "Total number of objects: " << UseOfStaticMember::count_objects() << "\n";
regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior:

Conclusión:

Los usos de la función de miembro estático con variables estáticas en la clase C ++ se han explicado en este tutorial utilizando varios ejemplos. Espero que usar la función de miembro estático sea clara para los lectores después de leer este tutorial.