初始化私有成员数组w/size作为类初始化参数

use*_*959 2 c++

所以我有一个"办公室"课程,我正在编写一个程序,每个"办公室"都有一定数量的柜员忙或闲.我想将这些计数器表示为Office类的私有int数组.我遇到的问题是,出纳员的数量是办公室类的声明参数,所以我不能去

private: 
    int tellers[num_tellers];
Run Code Online (Sandbox Code Playgroud)

我已经尝试了与构造函数不同的东西,但似乎没有任何工作.我该怎么做呢?我在网上看到的一切都是使用new运算符,但我没有兴趣使用指针.

提前致谢

Bor*_*der 5

您有两个选择:第一个和不安全的选项是

private:     
    int* tellers;
Run Code Online (Sandbox Code Playgroud)

并在您的构造函数中:

tellers = new int[yourParamGoesHere];
Run Code Online (Sandbox Code Playgroud)

第二个更安全的选择是使用矢量,然后你会有

private:
    std::vector<int> tellers;
Run Code Online (Sandbox Code Playgroud)

在你的构造函数中你会做:

Office(int numberOfTellers):
    tellers(std::vector<int>(numberOfTellers))
Run Code Online (Sandbox Code Playgroud)

然后,无论何时您想要读取或写入任何整数,您都可以像对待数组一样索引向量:

tellers[0] = 42;
Run Code Online (Sandbox Code Playgroud)