说明:
- 静态成员函数/静态成员变量 基本上等同于全局变量和全局函数(静态函数/变量 通过类来调用而不通过对象调用);
- 静态成员变量/函数相比全局变量/函数区别在于增加了类的访问限制
#include <iostream>
using namespace std;
class HisEgg {
public:
/*公有访问属性:直接调用 通过类名HisEgg来调用
可以使用HisEgg::show_eggs();*/
static void show_eggs(void)
{
cout << "Egg num = " << eggs << endl;
}
/*公有访问属性:直接访问 通过类名HisEgg来调用
访问方式:HisEgg::eggs */
static int eggs;
};
class HerEgg {
public:
/*公有访问属性 静态成员函数*/
void show_eggs(void) {
cout << "HerEgg num = " << eggs << endl;
}
/**/
void flush_eggs(int num) {
eggs = num;
}
private:
/*私有防问属性,不可直接通过HerEgg::eggs访问
通过成员函数flush_egg(int num) 来访问
*/
static int eggs ;
};
int main (void)
{
HisEgg::eggs = 99;
HisEgg::show_eggs();
HerEgg she;
she.flush_eggs(100);
she.show_eggs();
return 0;
}
/*静态成员变量定义方式*/
int HisEgg::eggs;
int HerEgg::eggs;