几点总结
1、类内的static成员变量全局可见,需要类内声明,类外初始化
2、static成员函数只能调用static成员变量、static成员函数和类外部的其他函数
3、static成员仍受private关键字限制(private成员函数只能不能主动调用,只能被类内的其他成员函数调用)
例子:
#include#include using namespace std; class A{ public: static void f1(){ std::cout << "f1() called" << std::endl; f2(); cout << "===a: " << A::a << endl; } static int a; private: static void f2(){ cout << "f2() is called" << endl; cout << a << endl; } }; int A::a = 5; int main() { A::f1(); cout << "main: " << A::a << endl; // A::f2(); }



