3

オブジェクトの配列が必要です。各オブジェクトには、1 つの引数を持つコンストラクターがあります。私のオブジェクト配列の初期化:

set s[]=new set[n]; // creates an array of n objects of class set

ただし、コンストラクターには引数が必要なため、そうすることができないと書かれています。私のコンストラクタ:

set(int size){}

問題は理解できましたが、良い解決策が思いつきません。私ができることは、各オブジェクトを個別に初期化することです:

set s1(size);
set s2(size); //& so on.....

またはコンストラクターから引数を削除します...両方のソリューションは完全に満足のいくものではありません

これに対するより良い解決策を見つけるのを手伝ってくれる人はいますか?

注: 各オブジェクトの「サイズ」値は異なります/動的です

4

2 に答える 2

0

引数を取らずに値を初期化する別のコンストラクターを作成し、ループ内の各変数の値を設定できます。

set() {
    this.size = 0;
}

次に、 for ループで、size直接バインディングまたはゲッター/セッター関数を使用して、各要素を目的の で初期化します。

for(int i = 0; i < n; i++) {
    s[i].size = value[i]; // or create a setter function
}
于 2013-09-22T17:03:51.347 に答える