konstruktor kopiujący.
Ostatnio zmodyfikowano 2014-09-25 13:38
kitsss Temat założony przez niniejszego użytkownika |
konstruktor kopiujący. » 2014-09-24 16:00:11 Napisanie konstruktora kopiującego w klasie przeszkadza w skompilowaniu programu. Chciałem, aby się skompilował, a obiekt utworzony w poniższym przykładzie był ,,śmieciowy,, (ponieważ nie napisałem konstruktora domniemanego) ps: Jak usunę całkowicie linie kodu źródłowego odpowiedzialne za istnienie konstruktora kopiującego poprawnie program się skompiluje i stworzy ,,śmieciowy,, obiekt z byle jakimi wartościami danych składowych. Chciałbym taki efekt uzyskać z istniejącym konstruktorem kopiującym, w czym rzecz? class typ_wlasny { int pies; char znak; public: typ_wlasny( typ_wlasny & dok ) { pies = dok.pies; znak = dok.znak; } void pokaz() { cout << "pies: " << pies << endl; cout << "znak: " << znak << endl; } };
int main() { typ_wlasny obiekt; obiekt.pokaz(); system( "PAUSE" ); return 0; }
|
|
pekfos |
» 2014-09-24 16:25:45 A najlepiej dopisz konstruktor domyślny. |
|
kitsss Temat założony przez niniejszego użytkownika |
» 2014-09-24 16:27:41 Wtedy to pomoże :) Tylko czemu nie chce mi się teraz stworzyć obiekt ,,śmieciowy,,? Jakby nie było konstruktora kopiującego to do skompilowania nie byłby wymagany konstruktor domyślny. |
|
pekfos |
» 2014-09-24 18:10:53 Bo kompilator nie wygeneruje konstruktora domyślnego, jak dajesz mu znać, że lepiej wiesz, jak trzeba tworzyć obiekty tej klasy. |
|
kitsss Temat założony przez niniejszego użytkownika |
» 2014-09-25 13:38:43 No ok, takie to trochę dziwne. Dzięki wielkie ;) zamykam. |
|
« 1 » |