类的静态成员函数和静态成员变量是类的属性,在该类的所有对象间共享。在使用时,可以直接通过类名来引用,也可以通过对象进行引用。考虑以下代码:
class A{
public:
static void update() {s_cnt++; }
static int cnt() {return s_cnt; }
private:
static int s_cnt;
};
int A::s_cnt = 0;
int main()
{
A a1, a2;
a1.update();
a2.update();
A::update();
cout << "A::cnt() = " << A::cnt() << endl;
cout << "a1.cnt() = " << a1.cnt() << endl;
cout << "a2.cnt() = " << a2.cnt() << endl;
return 0;
}
类 A 的静态成员函数 update 每次将其静态成员变量 s_cnt 加1,cnt 函数返回 s_cnt 的值。a1,a2均为 A 的对象,通过 a1,a2和A 分别调用 update,输出为:
A::cnt() = 3
a1.cnt() = 3
a2.cnt() = 3
因为三次调用 update 操作的都是同一个值。
本文介绍了类的静态成员函数和静态成员变量的概念及使用方法。通过一个示例类A展示了如何通过类名或对象引用静态成员,并演示了静态成员变量在所有对象间的共享特性。
1554

被折叠的 条评论
为什么被折叠?



