C++ static类静态成员
类静态成员定义语法
C++中类的成员可以通过static关键字的修饰变成类的静态成员。其语法如下:
static type member;
类静态成员的作用
C++中类的成员被声明为静态成员后,C++的程序中,无论创建多少个该类的对象,那么该静态成员也仍然只有一个副本,即static类的静态成员在类的所有实例对象中是共享的。
确切来说,C++的类的静态成员只跟类有关,是属于类的,而不是对象的,访问静态成员的时候,也是通过类的名称和范围解析运算符来访问的(具体可参考下方实例代码)。
类静态成员的注意点
- 类的静态成员一般不会在类中定义,而只是声明而已,一般会在类的外部,通过范围解析运算符::来定义;
- 类的静态成员一般不在主函数main()中定义或赋值初始化;
类静态成员访问语法
className::staticMember
类静态成员实例代码
注意下面访问类静态成员的方法:
#include <iostream>
#include <string>
using namespace std;
// 定义一个Fruit类,并将类别category声明为static静态成员
class Fruit{
public:
string name;
Fruit(string n){
name = n;
};
static string category;
};
// 通过范围解析运算符定义category
string Fruit::category = "水果";
int main(){
// 实例化一个Fruit类的对象
Fruit apple("苹果");
cout << Fruit::category << endl;
return 0;
}
代码编译运行后,得到输出:
水果
免责声明:内容仅供参考,不保证正确性。