Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

konstruktor kopiujący.

Ostatnio zmodyfikowano 2014-09-25 13:38
Autor Wiadomość
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?
C/C++
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;
}
P-117426
pekfos
» 2014-09-24 16:25:45
C/C++
typ_wlasny() = default;
A najlepiej dopisz konstruktor domyślny.
P-117429
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.
P-117430
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.
P-117436
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.
P-117503
« 1 »
  Strona 1 z 1