C++ static 关键字
定义和用法
static
关键字是一个修饰符,它使属性或方法属于类本身,而不是类的实例。该属性或方法在所有类的实例之间共享。
static
关键字还有另一个用途。它允许函数内部的变量在多次函数调用之间保持其值,如下例所示。
实例
例子 1
静态属性的值在类的实例之间共享:
class MyClass { public: static int x; int y; int sum() { return x + y; } }; int MyClass::x = 5; int main() { MyClass myObj1; myObj1.y = 3; MyClass myObj2; myObj2.y = 5; cout << myObj1.sum() << "\n"; cout << myObj2.sum() << "\n"; return 0; }
例子 2
static
关键字允许变量在函数结束后保持其值:
int add(int myNumber) { static int total = 0; total += myNumber; return total; } int main() { cout << add(5) << "\n"; cout << add(2) << "\n"; cout << add(4) << "\n"; cout << add(9) << "\n"; return 0; }