// ============================================================================ // p1c04_03_15 — 4.3.10.2 静态成员函数 // 来源:川大 C++/LinuxC wiki「02.Qt方向」 // 说明:本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用 // // --- 原文片段 [pageId:blockIdx] --- 标注出处。 // 已做最小修正(笔误/平台移植),详见 docs/ERRATA.md。 // ============================================================================ #include using namespace std; // --- 原文片段 [58954451:14] 4.3.10.2 静态成员函数 --- class Person{ public: //普通成员函数可以访问static和non-static成员属性 void changeParam1(int param){ mParam = param; sNum = param; } //静态成员函数只能访问static成员属性 static void changeParam2(int param){ //mParam = param; //无法访问 sNum = param; } private: static void changeParam3(int param){ //mParam = param; //无法访问 sNum = param; } public: int mParam; static int sNum; }; //静态成员属性类外初始化 int Person::sNum = 0; int main(){ //1. 类名直接调用 Person::changeParam2(100); //2. 通过对象调用 Person p; p.changeParam2(200); //3. 静态成员函数也有访问权限 //Person::changeParam3(100); //类外无法访问私有静态成员函数 //Person p1; //p1.changeParam3(200); return EXIT_SUCCESS; } // --- main ---