English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Quando si utilizza la parola chiave static, non è possibile modificare nuovamente la variabile o il membro dei dati o la funzione. Viene allocato 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. La variabile statica ha un valore predefinito di zero. Le variabili statiche sono valide prima dell'esecuzione del programma.
Questo è la sintassi della parola chiave static in C++
static datatype variable_name = value; // Variabile statica static return_type function_name { // Static functions ... }
这里,
datatype-变量的数据类型,例如int,char,float等。
variable_name-这是用户给定的变量名。
值-来初始化变量的任何值。默认情况下,它为零。
return_type-返回值的函数的数据类型。
function_name-函数的任何名称。
这是C ++语言中的静态变量示例,
#include <bits/stdc++.h> using namespace std; class Base { public : static int val; static int func(int a) { cout << "\nStatic member function 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 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;