class MyClass { public: static void staticFunction(); //静态成员函数 };和普通的成员函数一样,静态成员函数可以直接在类内部实现,也可以在类外部实现,当在类外面实现的时候,不需要 static 关键字。
class Student { public: Student(string n) : name(n) { ++totalStudents; } ~Student() { --totalStudents; } static int getTotalStudents() { //静态成员函数 return totalStudents; } private: string name; static int totalStudents; //静态成员变量 }; // 初始化静态成员变量 int Student::totalStudents = 0;在 Student 类中,getTotalStudents() 是一个静态成员函数,它的内部只能使用 totalStudents 静态成员变量,而不允许使用非静态成员(比如 name)。
#include <iostream> using namespace std; class Student { public: Student(string n) : name(n) { ++totalStudents; } ~Student() { --totalStudents; } static int getTotalStudents() { //静态成员函数 return totalStudents; } private: string name; static int totalStudents; //静态成员变量 }; // 初始化静态成员变量 int Student::totalStudents = 0; int main() { cout << "Total Students: " << Student::getTotalStudents() << endl; // 输出 0 Student s1("Alice"); Student s2("Bob"); cout << "Total Students: " << Student::getTotalStudents() << endl; // 输出 2 { Student s3("Charlie"); cout << "Total Students: " << Student::getTotalStudents() << endl; // 输出 3 } // s3 被销毁 cout << "Total Students: " << Student::getTotalStudents() << endl; // 输出 2 return 0; }运行结果为:
Total Students: 0
Total Students: 2
Total Students: 3
Total Students: 2
本文链接:http://task.lmcjl.com/news/14921.html