我可以在c ++的类中声明成员变量为const吗?如果是,怎么样?

时间:2009-07-11 19:49:44

标签: c++ const

我可以在c ++的类中声明成员变量为const吗?如果是,怎么做?

3 个答案:

答案 0 :(得分:18)

您可以 - 将const放在类型名称前面。

class C
{
     const int x;

public:
      C() : x (5) { }
};

答案 1 :(得分:8)

如果它不是会员,您可以声明它。请注意,将变量声明为const将对使用该类的方式产生相当大的影响。你肯定需要一个构造函数来初始化它:

class A {
    public:
        A( int x ) : cvar( x ) {}
    private:
        const int cvar;
};

答案 2 :(得分:3)

当然,如果类的所有实例的值都相同,那么最简单的方法就是这样:

class X
{
public:
    static const int i = 1;
};

或者,如果您不希望它是静态的:

class X
{
public:
    const int i;
    X(int the_i) : i(the_i)
    {     
    }
};