静态成员
- 静态成员就是在成员变量或者是成员函数前面加上static关键字。
静态成员变量
- 所有对象共享同一份数据
- 在编译阶段分配内存
- 类内声明,类外初始化
- 可以通过对象或者类名进行访问。
- 静态成员变量也具有访问权限。
code:#include<iostream>using namespace std;class Person{public:static int age; private:static int height;
};};int Person::age = 18; int Person::height = 180;void main(){Person p1;cout << p1.age << endl; Person p2;p2.age = 25; cout << p1.age << endl;cout << Person::age << endl; system("pause");}
result:182525
静态成员函数
- 所有对象共享同一个函数
- 可以通过对象或者类名进行访问。
- 静态成员函数只能访问静态的成员变量。
- 静态成员函数也是有访问权限的。
code:#include<iostream>using namespace std;class Person{public:static int age;int name;static void show_info(){cout << "static void show_info()被调用" << endl;cout << "静态成员函数中访问静态成员变量age=" << age << endl;}};int Person::age = 18; void main(){Person p1;cout << p1.age << endl;p1.show_info();cout << endl;Person p2;p2.age = 25; cout << p1.age << endl;p2.show_info(); cout << endl;Person::show_info(); system("pause");}
result:18static void show_info()被调用1825static void show_info()被调用25static void show_info()被调用25