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;    
}

代码编译运行后,得到输出:

水果

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.