Konstruktor im Array laufen lassen
-
Hallo Forum,
ich habe eine Klasse MyClass mit einem Konstruktor welches einen optionales Objekt (genauer Zeiger auf obj) als Parameter haben kann.
Dieses geht:MyClass MyArray[100]; // 100 Instanzen MyClass, es läuft der Konstruktor wo der optionale Zeiger auf 0 gesetzt ist.Sehe ich es richtig das es keine Möglichkeit in C++ gibt den Parameter in dieser Schreibweise anzugeben? So etwa:
MyInitClass obj(1, 2, 3); MyClass MyArray(&obj)[100];Vielen Dank
Tim
-
Wenn du statische Arrays erstellst, dann kannst du nur den default-Konstruktor nehmen.
-
Danke für die Auskunft

Google hat in dieser Richtung auch nichts ausgespuckt.
-
Gibts da nicht was von std::vector?
-
Nein, std::vector sowie std::tr1::array benutzen die Default Konstruktoren. Die einzige Möglichkeit wäre die 100 Elemente über einen Schleifendurchlauf auf dem Heap zu erstellen und jeweils den Zeiger zum Array/Vector hinzuzufügen.
-
Janjan schrieb:
Nein, std::vector sowie std::tr1::array benutzen die Default Konstruktoren. Die einzige Möglichkeit wäre die 100 Elemente über einen Schleifendurchlauf auf dem Heap zu erstellen und jeweils den Zeiger zum Array/Vector hinzuzufügen.
Echt kein
MyInitClass obj(1, 2, 3);//evtl nur MyClass vector<MyClass> MyArray(obj,100);? Sowas hab ich doch schon benutzt.
-
explicit vector ( const Allocator& = Allocator() ); explicit vector ( size_type n, const T& value= T(), const Allocator& = Allocator() ); template <class InputIterator> vector ( InputIterator first, InputIterator last, const Allocator& = Allocator() ); vector ( const vector<T,Allocator>& x );
-
Janjan schrieb:
explicit vector ( const Allocator& = Allocator() ); explicit vector ( size_type n, const T& value= T(), const Allocator& = Allocator() ); template <class InputIterator> vector ( InputIterator first, InputIterator last, const Allocator& = Allocator() ); vector ( const vector<T,Allocator>& x );Ok, den zweiten nehme ich.
-
@volkard,
Du bist gemein, könntest ihm doch immerhin was zu lesen geben:
http://www.cplusplus.com/reference/stl/vector/vector/
Grüssli