English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Chiave statica e sue varie applicazioni in C++

Quando si utilizza la parola chiave static, non è possibile modificare nuovamente la variabile o il membro dati o la funzione. Viene assegnato durante il ciclo di vita del programma. Le funzioni statiche possono essere chiamate direttamente utilizzando il nome della classe.

Le variabili statiche vengono inizializzate una sola volta. Il compilatore mantiene la variabile fino alla fine del programma. Le variabili statiche possono essere definite all'interno o all'esterno di una funzione. Sono locali al blocco. Il valore predefinito delle variabili statiche è zero. Le variabili statiche sono valide prima dell'esecuzione del programma.

Ecco la sintassi della parola chiave static.

static datatype variable_name = value; // Static variable
   static return_type function_name { // Static functions
   ...
}

这里,

datatype-变量的数据类型,例如int,char,float等。

variable_name-这是用户给定的变量名。

-来初始化变量的任何值。默认情况下,它为零。

return_type-返回值的函数的数据类型。

function_name-函数的任何名称。

以下是static关键字的示例。

示例

#include <bits/stdc++.h>
using namespace std;
class Base {
   public : static int val;
   static int func(int a) {
      cout << "\nStatic member function is called";
      cout << "\nThe value of a : " << a;
   }
};
int Base::val=28;
int main() {
   Base b;
   Base::func(8);
   cout << "\nThe static variable value : " << b.val;
   return 0;
}

输出结果

Static member function is called
The value of a : 8
The static variable value : 28

在上面的程序中,声明了一个静态变量。在Base类中定义了一个静态函数,如下所示-

public : static int val;
static int func(int a) {
   cout << "\nStatic member function called";
   cout << "\nThe value of a : " << a;
}

在类之后和之前main(),静态变量的初始化如下。

int Base::val=28;

在该函数中main(),创建了一个基类的对象,并调用了静态变量。也可以在不使用Base类的对象的情况下调用静态函数。

Base b;
Base::func(8);
cout << "\nThe static variable value : " << b.val;