[C++, obiektowość] Tworzenie obiektu z oryginalnym konstruktorem w klasie
Ostatnio zmodyfikowano 2015-04-05 12:32
Monika90 |
» 2015-04-04 19:55:28 class klasa_B { klasa_A obiekt( 1 ); };
wystarczy zmienić nawiasy na klamry class klasa_B { klasa_A obiekt { 1 }; };
dla tablic też zadziała |
|
notabigthreat |
» 2015-04-04 20:06:28 @up: Czy ten sposób zadziała, jak mamy argumentY? @EDIT: Dobra, taki kod: class A { public: int q; int k; A( int x, int y ) : q( x ) , k( y ) { ; } }; class B { public: A a[ 2 ] { { 2, 3 }, { 5, 6 } }; }; int main() { A aaa( 3, 4 ); B bbb; return 0; } się kompiluje. |
|
Monika90 |
» 2015-04-04 20:19:05 Czy ten sposób zadziała, jak mamy argumentY? |
Tak. Ale w ogóle należy pamiętać że przy inicjalizacji za pomocą niepustych {} preferowany jest konstruktor przyjmujący initializer_list, więc czasem trzeba napisać tak class klasa_B { klasa_A obiekt = klasa_A( 1 ); };
|
|
Winner_Of_Death Temat założony przez niniejszego użytkownika |
» 2015-04-04 20:46:34 A mi się nie kompiluje. function definition does not declare parameters Stary kompilator ? |
|
Monika90 |
» 2015-04-05 10:51:36 albo masz stary kompilator, albo nie włączyłeś C++11 |
|
Winner_Of_Death Temat założony przez niniejszego użytkownika |
» 2015-04-05 12:32:36 Jednak niestety stary kompilator. Poszukam nowszego, jednakże ten problem został rozwiązany, za co dziękuję. |
|
1 « 2 » |