静态成员:在成员变量和成员函数前加上关键字static。
静态成员分为:
静态成员变量:
1.在编译阶段分配内存。
2.类内声明,类外初始化。
3.所有对象共享同一份数据。
静态成员函数:
1.所有对象共享同一个函数。
2.静态成员函数只能访问静态成员变量。
静态变量的两种访问方式:
1.通过对象。
2.通过类名。
#include<iostream> using namespace std; class WLM { public: static int m_a; private: static int m_b; }; int WLM::m_a = 10; int WLM::m_b = 20; class ZJY { public: static void func() { cout << "func调用" << endl; m_a = 100; //静态成员函数只能访问静态成员变量 //m_b = 100; 错误 } static int m_a; int m_b; private: static void func2() { } }; int ZJY::m_a = 10; void test1() { //静态成员变量两种访问方式 //1.通过对象 WLM wlm1; wlm1.m_a = 100; cout << "wlm1.m_a = " << wlm1.m_a << endl; WLM wlm2; wlm2.m_a = 200; cout << "wlm1.m_a = " << wlm1.m_a << endl; //所有静态成员变量共享同一份数据 cout << "wlm2.m_a = " << wlm2.m_a << endl; //2.通过类名 cout << "m_a = " << WLM::m_a << endl; //cout << "m_b" << WLM::m_b << endl; 静态成员变量也有访问权限 } void test2() { //静态成员变量两种访问方式 //1.通过对象 ZJY zjy; zjy.func(); //2.通过类名 ZJY::func(); //ZJY::func2(); //错误,静态成员函数也有访问权限 } int _tmain(int argc, _TCHAR* argv[]) { test1(); test2(); system("pause"); return 0; }
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/277518.html