2

そのため、現在書いているプログラム用の「オフィス」クラスがあり、各「オフィス」には、忙しいかアイドル状態の窓口担当者が一定数います。これらの出納係を Office クラスのプライベート int 配列として表現したいと考えています。私が抱えている問題は、出納係の数がオフィスクラスの宣言パラメーターであるため、ただ行くことができないことです

private: 
    int tellers[num_tellers];

コンストラクターでさまざまなことを試しましたが、何も機能していないようです。これを正しく行うにはどうすればよいですか?オンラインで見るものはすべて new 演算子を使用していますが、これにポインターを使用することに興味はありません。

前もって感謝します

4

1 に答える 1

5

2 つのオプションがあります。最初の安全でないオプションは、

private:     
    int* tellers;

そしてあなたのコンストラクターで:

tellers = new int[yourParamGoesHere];

2 番目のより安全なオプションは、ベクトルを使用することです。

private:
    std::vector<int> tellers;

コンストラクターで次のようにします。

Office(int numberOfTellers):
    tellers(std::vector<int>(numberOfTellers))

そして、整数のいずれかを読み書きするときはいつでも、次のように配列のようにベクトルにインデックスを付けます。

tellers[0] = 42;
于 2012-09-06T01:38:36.833 に答える