所以我有一个我正在编写的程序的“办公室”课程,每个“办公室”都有一定数量的柜员,他们要么忙要么闲。我想将这些柜员表示为 Office 类的私有 int 数组。我遇到的问题是出纳员的数量是办公室类的声明参数,所以我不能只去
private:
int tellers[num_tellers];
我用构造函数尝试了不同的东西,但似乎没有任何效果。我该如何正确地做到这一点?我在网上看到的一切都在使用 new 运算符,但我没有兴趣为此使用指针。
提前致谢
所以我有一个我正在编写的程序的“办公室”课程,每个“办公室”都有一定数量的柜员,他们要么忙要么闲。我想将这些柜员表示为 Office 类的私有 int 数组。我遇到的问题是出纳员的数量是办公室类的声明参数,所以我不能只去
private:
int tellers[num_tellers];
我用构造函数尝试了不同的东西,但似乎没有任何效果。我该如何正确地做到这一点?我在网上看到的一切都在使用 new 运算符,但我没有兴趣为此使用指针。
提前致谢
你有两个选择:第一个也是不安全的选择是
private:
int* tellers;
在你的构造函数中:
tellers = new int[yourParamGoesHere];
第二个也是更安全的选择是使用向量,然后您将拥有
private:
std::vector<int> tellers;
在你的承包商中,你会这样做:
Office(int numberOfTellers):
tellers(std::vector<int>(numberOfTellers))
然后,每当您想读取或写入任何整数时,您都可以像这样的数组一样索引向量:
tellers[0] = 42;