Uso da função estática do membro em C ++

Uso da função estática do membro em C ++
O bloco de código definido com um nome em qualquer linguagem de programação é chamado de função. O código de uma função é executado quando a função é chamada em qualquer lugar do código. Dois tipos de funções podem ser declarados. Um é uma função normal e outro é uma função estática de membro. A função estática do membro é declarada para um propósito especial. A palavra -chave estática é usada para declarar a função de membro estático. Este tipo de função pode acessar outras variáveis ​​estáticas ou funções da mesma classe. Esta função é chamada usando o nome da classe onde a função é declarada. Neste tutorial, o uso da função de membro estático na classe C ++ será discutido.

Exemplo 1: Uso da função de membro estático simples

A maneira de definir uma função simples de membro estático em uma classe C ++ e chamar a função usando o nome da classe é mostrada no exemplo a seguir. Uma aula com uma função de membro estático nomeado Info () definiu no código o que imprimirá uma mensagem de texto simples. O Info () A função foi chamada usando o nome da classe sem criar o objeto da classe.

// inclui biblioteca para E/S
#includeostream>
usando namespace std;
// Defina a classe
Classe useofstaticmember

público:
// Declare a função estática do membro
INFO ESTÁTICA VOID ()

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

;
int main ()

// chamando a função de membro estático
Useofstaticmember :: info ();

Saída:

A saída a seguir aparecerá após a execução do código acima:

Exemplo 2: Imprima a variável estática da função estática

A maneira de implementar a variável estática usando a função estática do membro de uma classe é mostrada no exemplo a seguir. Uma classe com uma variável padrão, uma variável estática, duas funções públicas e uma função estática de membro foi declarada no código. O incremento() A função foi definida para incrementar os valores de ambas as variáveis. O display_val () A função foi definida para imprimir o valor da variável normal. O display_static_val () A função foi definida para imprimir o valor da variável estática. Dois objetos da classe foram criados, e o incremento() A função foi chamada duas vezes usando os dois objetos. Em seguida, o display_val () a função foi chamada usando o segundo objeto, e o display_static_val () A função foi chamada usando o nome da classe.

// inclui biblioteca para E/S
#incluir
usando namespace std;
// Defina a classe
Classe useofstaticmember

static int static_num;
int normal_num = 0;
público:
// declara a função para incrementar os valores dos números
incremento void ()
Normal_num ++;
static_num ++;

// Declare a função para exibir o valor de Normal_num
void display_val ()
cout << "The current value of normal number = " << normal_num << "\n";

// Declare a função estática do membro
estático void display_static_val ()
cout << "The current value of static number = " << static_num << "\n";

;
// Declare o membro de dados estático
int useofstaticmember :: static_num;
int main ()

// Crie os objetos da classe
UseofstaticMember objeto1, objeto2;
// incrementam os valores usando o primeiro objeto
objeto1.incremento();
// imprima os valores da variável normal
objeto1.display_val ();
// incrementam os valores usando o segundo objeto
objeto2.incremento();
// imprima os valores da variável normal
objeto2.display_val ();
// imprima os valores da variável estática
Useofstaticmember :: Display_static_val ();
retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima:

Exemplo 3: Acesse a função de membro estático usando classe e objeto

Nos dois exemplos anteriores, a função estática da classe foi acessada usando o nome da classe. As maneiras de acessar a função do membro estático usando o nome da classe e o objeto da classe foram mostradas neste tutorial. Uma classe com três variáveis ​​estáticas e uma função estática de membro foi definida no código. As variáveis ​​estáticas foram inicializadas fora da classe. Em seguida, a função de membro estático nomeado Mostrar() foi chamado diretamente usando o nome da classe e o objeto da classe.

// inclui biblioteca para E/S
#incluir
usando namespace std;
// Defina a classe
Classe useofstaticmember

privado:
// Defina os membros de dados estáticos
ID da string estática;
Nome da string estática;
Salário estático int;
público:
// Defina a função de membro estático
Exibição de vazio estático ()

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

;
// inicialize os membros de dados estáticos
String useofstaticmember :: id = "673456";
string useofstaticmember :: name = "mahmuda afroz";
Int useofstaticmember :: Salário = 70000;
int main ()

cout<<"Print static memebers using class name:\n";
UseofstaticMember :: Display ();
Useofstaticmember obj;
cout << "\nPrint static members using object:\n";
obj.Mostrar();
retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima:

Exemplo 4: conte o número total de objetos

A maneira de contar e imprimir o número total de objetos de uma classe é usando uma variável e função de membro estático, como mostrado no exemplo a seguir. Uma classe com um construtor, uma variável estática e uma função estática de membro foi definida no código. O valor da variável estática é inicializado para 0. O valor da variável estática será incrementado por 1 quando um objeto da classe será criado. Três objetos da classe são criados dentro da função principal (). Em seguida, a função estática do membro foi chamada para imprimir o número total de objetos da classe.

// inclui biblioteca para E/S
#incluir
usando namespace std;
// Defina a classe
classe useofstaticmember
// Declare o membro de dados estático
contador estático int;
público:
// declarar o construtor
Useofstaticmember ()
cout <<"The constructor is called.\n";
// aumenta o valor do membro de dados estático
Contador ++;

static int count_objects ()

contador de retorno;

;
// inicialize o membro estático
int useofstaticmember :: contador = 0;
int main (void)
// Crie três objetos da classe
UseofstaticMember objeto1, objeto2, objeto3;
// Imprima o número total de objetos criados
cout << "Total number of objects: " << UseOfStaticMember::count_objects() << "\n";
retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima:

Conclusão:

Os usos da função de membro estático com variáveis ​​estáticas na classe C ++ foram explicadas neste tutorial usando vários exemplos. Espero que o uso da função estática seja claro para os leitores depois de ler este tutorial.