C++ static、const和static const类型成员变量声明详细讲解

分类:知识百科 日期: 点击:0

static

static关键字用于声明类的静态成员变量,即它只有一个实例,并且不属于某个特定的对象,而是属于整个类。它可以被类中的所有对象共享,也可以在类外通过类名访问,通常用于存储类的一些公共数据,如计数器。static声明的变量可以是全局变量,也可以是局部变量,但不能声明为普通成员变量。

class A
{
public:
    static int a; //声明静态变量
    int b; //声明普通成员变量
    static void func(); //声明静态成员函数
    void func1(); //声明普通成员函数
};

int A::a = 10; //定义静态变量

void A::func()  //定义静态成员函数
{
    cout << a << endl;
}

void A::func1() //定义普通成员函数
{
    cout << b << endl;
}

const

const关键字用于声明常量,它可以用来声明类的常量成员变量,也可以用来声明普通常量,如果它声明的是类成员变量,则它必须在类的内部被初始化,而且它只能在类的内部被修改,不能在类的外部被修改,常量成员变量的值只能在编译时确定,不能在运行时确定。

class A
{
public:
    const int a = 10; //声明常量成员变量
    int b; //声明普通成员变量
    void func(); //声明普通成员函数
};

void A::func() //定义普通成员函数
{
    cout << a << endl;
}

static const

static const关键字用于声明类的静态常量成员变量,它只有一个实例,并且不属于某个特定的对象,而是属于整个类,它可以被类中的所有对象共享,也可以在类外通过类名访问,它的值只能在编译时确定,不能在运行时确定,它不能在类的外部被修改,也不能在类的内部被修改,它的值只能在类的内部被初始化,一旦初始化,它的值就不能再改变。

class A
{
public:
    static const int a = 10; //声明静态常量成员变量
    int b; //声明普通成员变量
    void func(); //声明普通成员函数
};

void A::func() //定义普通成员函数
{
    cout << a << endl;
}
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。