-2

次のことを考慮してください。

 class a
 {
  int p;
   a(int x)
    {
    p=x;
 }
 }

class b
{ vector<a> var;
   b(*type*a l)
    {
     new var;
     var(l);
     }
 }

基本的に、クラス('a')のベクトルを作成し、それを別のクラスから呼び出そうとしています。いくつかの質問-

1)クラスbでは、「新しい変数」の配置は正しいですか?ベクトル変数を定義するときにコンストラクターの外部で宣言する必要がありますか、それともコンストラクターの内部で宣言する必要がありますか?これらの各ケースはどういう意味ですか。

2)主に、クラスbのベクトルも宣言したいと思います。どうすればいいですか?

します

Vector<b>  ex = new Vector<b> (100,5); sound right? 

つまり、100はサイズであり、5は、最大容量に達したときに増やす必要がある量です。

サイズを指定せず、addElement()を介して追加し続けることはできますか?-ベクトルタイプは自動的にサイズを増やしますか?

3)したがって、bのi番目の要素とbのメンバー変数'var'のj番目の要素にアクセスするには、どのように指定しますか?これは正しいでしょうか-?

 ex[i].var.get[j] ?

私はこれらすべてから始めたばかりなので、我慢してください。私は本当の初心者です。

4

1 に答える 1

1

まず、java.util.Vectorあなたが何をしているのかわからない限り、それを参照している場合は使用しないでください. java.util.ArrayList代わりに使用してください。

以下は、 type のオブジェクトを含む ArrayList を宣言して初期化する方法を示していますa

class b { 

    private ArrayList<a> var = new ArrayList<a>(); // declare & intialize like this

    b(a l) {
        var.add(l);
    }
}

ArrayLists の ArrayList...

ArrayList<ArrayList<Foo>> foo = new ArrayList<ArrayList<Foo>>();

// initialize foo

foo.get(0).get(2);  // like foo[0][2] if foo were an array
于 2012-11-15T04:05:49.100 に答える