#include <iostream>
using namespace std;
class A
{
public:
static int a; //定义静态成员变量
static void f(); //定义静态成员函数
};
int A::a = 2; //静态成员变量不同于普通的成员变量,还必须在类外面定义一次 ,此时可以初始化
void A::f() //静态成员函数的实现:此时不需要 static 关键字
{
a += 1; //静态成员函数中不能使用 非静态的成员变量,只能使用该类的静态成员变量 。此时则不需要加域操作符:: 了
cout<<a<<endl;
}
int main ()
{
cout<<A::a<<endl; //在任何地方都可以用 :: 直接访问静态成员变量和静态成员函数
A::f();
A::a = 55;
cout<<A::a<<endl;
A ob1;
cout<<ob1.a<<endl; //当然也可以用对象来访问静态成员变量和静态成员函数
ob1.f();
}
浙公网安备 33010602011771号