初始化私有成员数组w/size作为类初始化参数
initializing private member array w/ size as a class initialization parameter
因此,我为当前正在编写的程序创建了一个"Office"类,每个"Office"都有一定数量的出纳员,他们要么忙,要么闲。我想将这些teller表示为Office类的私有int数组。我遇到的问题是出纳员的数量是office类的一个声明参数,所以我不能只使用
private:
int tellers[num_tellers];
我对构造函数尝试了不同的方法,但似乎都不起作用。我该如何正确地做到这一点?我在网上看到的所有东西都在使用新的运算符,但我对使用指针没有兴趣。
提前感谢
您有两个选项:第一个也是不安全的选择是使用
private:
int* tellers;
并且在您的构造函数中:
tellers = new int[yourParamGoesHere];
第二个也是更安全的选择是使用矢量,然后你就会有
private:
std::vector<int> tellers;
在你的合同中,你会做:
Office(int numberOfTellers):
tellers(std::vector<int>(numberOfTellers))
然后,每当你想读或写任何整数时,你都会像索引数组一样索引向量:
tellers[0] = 42;
相关文章:
- C++转换参数初始化问题
- 构造函数在退出函数时无法初始化一个参数
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- c++构造函数成员初始化:传递参数
- 模板参数列表中的 false 在模板初始化期间计算为什么?
- 构造函数/函数声明参数列表中的统一初始化
- 在构造函数中使用可变参数初始化 std::tuple
- 副本初始化的默认模板参数推导
- 使用向量初始化参数化构造函数的对象数组
- 使用初始化参数的模板类型
- 为什么我的值没有由我的初始化(参数化)构造函数初始化?
- 在声明C 期间具有值的类方法的初始化参数
- 初始化参数时会发生什么?C
- 为什么在C++调用函数时无法初始化参数?
- C++中具有初始化参数的构造函数
- 初始化私有成员数组w/size作为类初始化参数
- 初始化参数 1..[-允许]
- 如何初始化参数化模板类的静态成员
- 在c++中初始化参数化类型数组
- 为什么在使用空引用参数时崩溃,而不是在初始化参数时崩溃?