静态成员变量
1静态成员函数只能访问静态变量,因为静态变量不含this指针
2静态成员变量??不但被类的各个对象共享,而且也被派生类的对象共享
示例:
? class?base{ public: ?????????static?int?num; }; ? int?base::num=0; ? class?derived:public?base { }; ? ?????????base?a; ?????????derived?b; ?????????a.num++; ?????????cout<<a.num<<endl; ? ?????????b.num++; ?????????cout<<b.num<<endl; ?
3?类的静态成员可以成为成员函数的可选参数,而普通成员不可以
示例:
class?base{ ? public: ?????????static?int?num; ? ?????????int?var; ? ?????????void?f1(int?i=num);??//?正确 ?????????void?f2(int?i=var);??//?错误 }; ?
4?类的静态成员可以是所属类的类型,而普通成员不可以,普通成员只能声明为所属类类型的指针或引用
? class?base{ ? public: ?????????static?base?num; ? ?????????base?var;?//?错误 ? ?????????base?*pBase; ? ?????????base?&myBase; };
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。
原文:http://www.cnblogs.com/shuilan0066/p/4032262.html