类的静态成员

静态成员包括静态成员变量和静态成员函数,他们处于全局区,同时具有权限,因为他们不属于任何对象,所以可以直接使用类和作用域运算符直接访问。

  1. 静态成员变量
    • 静态成员变量在类的内部声明,在类的外部初始化。
    • 静态成员变量可以由静态成员函数访问,也可以由类对象访问
  2. 静态成员函数
    • 静态成员函数只能访问类的静态成员
      #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;
      }

       

       

posted @ 2023-02-24 17:45  Meetalone  阅读(20)  评论(0编辑  收藏  举报