array mit classen-parameter
-
hab ein kleines problem
mit der deklairung einers arrays
in der man parameter eingeben mussclass My{ int x,y; public: My(int,int); }; My::My(int x2,int y2){x=x2; y=y2;} class My2(){ My array[10]; My2(int,int); }; My2::My2(int x2,int y2): //und wie soll ich jetzt den array deklariren {}
-
Mein Tip: Schmeiß das C-Array raus, verwende einen C++-Typ. In jedem Fall kannst Du die Array-Elemente aber nicht ohne Schleife initialisieren. Die Initialisierungsliste bringt Dich hier also nicht weit.
-
deklariert hast du das Array doch bereits - du mußt es jetzt nur noch füllen. Und das geht zur Not auch im Ctor-Rumpf mit einer Schleife (ja, C++ Initialisierungslisten arbeiten nicht besonders gut mit Arrays):
My2::My2(int x1,int x2) { for(int i=0;i<10;++i) array[i]=My(x1,x2); }Die bessere Lösung wäre es, statt des Arrays einen vector<> zu verwenden:
class My2 { vector<My> array; public: My2(int x1,int x2) : array(10,My(x1,x2)) {} };
-
ok thx klappt alles