静态成员包括静态成员变量和静态成员函数,他们处于全局区,同时具有权限,因为他们不属于任何对象,所以可以直接使用类和作用域运算符直接访问。
- 静态成员变量
- 静态成员变量在类的内部声明,在类的外部初始化。
- 静态成员变量可以由静态成员函数访问,也可以由类对象访问
- 静态成员函数
-
- 静态成员函数只能访问类的静态成员
#include <iostream> #include <string> using namespace std; class Student { private: string name; static int poll; // 静态成员变量在类的内部声明,在类的外部初始化 static void speak() { cout << "I'm unique." << endl; } public: Student(string name) { this->name = name; } static void showPoll() { //name = "nonstatic member"; 静态成员函数只能访问静态成员变量 cout << "当前投票池票数是" << poll; } static string id; }; //类外部初始化静态成员变量 int Student::poll = 0; string Student::id = "123"; int main() { Student s("eta"); Student::showPoll(); //公有权限的静态成员函数在类外可以通过类名直接调用 //Student::speak(); speak是私有权限,类外不能访问 return 0; }
- 静态成员函数只能访问类的静态成员
标签:name,静态,成员,访问,static,变量 From: https://www.cnblogs.com/meetalone/p/17152617.html