我可以在c ++的类中声明成员变量为const吗?如果是,怎么做?
答案 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)
{
}
};