如何初始化类中的静态const指针?

时间:2009-12-07 16:33:44

标签: c++ static pointers const initialization

class School
{
    static const int *classcapacity; 
};

这个表达式来自我的考试,需要初始化我该怎么做?

4 个答案:

答案 0 :(得分:8)

您可以在类文件正文之外的源文件中初始化它,就像使用任何其他静态成员变量一样,即:

const int* School::classCapacity(new int(42));

答案 1 :(得分:2)

可能就是这样:

class School{
  static const int *classcapacity   ;
};
const int *School::classcapacity = 0;

答案 2 :(得分:2)

如果您想使用YOUR_INITIALIZER初始化它:

class School{ static const int *classcapacity ; } ;
const int* School::classcapacity = YOUR_INITIALIZER;

答案 3 :(得分:0)

我知道这是旧的,但在C ++ 11中,你会写:

class School
{
   static const int* classcapacity{new int[4]}; // initialize with 4-element array
};