一、访问静态成员变量
静态成员函数可以通过作用域运算符::来访问类的静态成员变量和静态成员函数
静态成员函数不属于任何特定的对象,而是属于整个类,可以通过类名直接调用,无需创建类的实例。静态成员函数不能访问类的非静态成员变量和非静态成员函数,只能访问静态成员变量和静态成员函数。
代码示例:
class MathUtils{public:static int add(int a,int b){return a+b;}
};
int main()
{int result = MathUtils::add(3,5);cout<<"结果:"<<result<<endl;return 0;
}
运行结果:
结果:8
注:将一个成员变量声明为静态常量, 可以在类的所有对象中共享并且不可修改。
二、统计对象数量
使用static修饰count变量,使其成为类的静态变量。每次创建Counter对象时,构造函数会将count值加1,实现了计数的功能。通过静态方法getCount可以获取当前计数值。在类的外部需要在类名后面加上作用域解析运算符::来访问静态成员变量和静态成员函数。
class myClass{public:static int count;// 静态成员变量myClass(){count++;// 在构造函数中自增}
};
int myClass::count = 0;// 静态成员变量初始化
int main()
{myClass s1;myClass s2;myClass s3;cout<<"对象数量:"<<myClass::count<<endl;return 0;
}
运行结果:
对象数量:3