Dynamiczna alokacji paru elementów obiektu z konstruktorem bez domyślnych parametrów
Ostatnio zmodyfikowano 2017-01-31 13:04
Warmix Temat założony przez niniejszego użytkownika  | 
Dynamiczna alokacji paru elementów obiektu z konstruktorem bez domyślnych parametrów » 2017-01-31 12:25:05 Klasa: class A { public:     A( int a, char * c )     {              } } Chciałbym teraz w mainie zaalokować pamięć dla 5 elementów klasy A W jaki sposób mogę to zrobić, gdyż nie mogę znaleźć rozwiązania, gdy muszę podać parametry. Próbowałem tak, niestety nie działa żaden sposób: A * nowy = new A( 3, "NOWY" )[ 5 ];
  A * nowy = new A[ 5 ]( 3, "NOWY" );
 
  A * nowy = new A[ 5,( 3, "NOWY" ) ];  | 
 | 
michal11  | 
» 2017-01-31 13:04:08 Nie da się, klasa musi mieć konstruktor domyślny aby można było zrobić dynamiczną tablicę jej elementów. Możesz skorzystać z std::vector i emplace_back. std::vector < A > tab;
  tab.emplace_back( 1, "t1" ); tab.emplace_back( 2, "t2" ); tab.emplace_back( 3, "t3" );
  albo jeżeli chcesz stworzyć tablicę piecu takich samych elementów to wystarczy to zrobić w konstruktorze: std::vector < A > tab( 5, A( 3, "NOWY" ) );
   | 
 | 
|  « 1 »  |