Kezdőoldal » Számítástechnika » Programozás » Copy constructorban valaki...

Copy constructorban valaki tud segíteni?

Figyelt kérdés

Ha van egy nem definiált másoló konstruktorom:

MYCLASS(MYCLASS&){}

az mit eredményez? Mert próbálgattam, csináltam egy függvényt (MYCLASS MyFunction(MYCLASS)), és beolvastam bele egy objektumot, aminek az egyik paraméterét 100-ra állítottam.


A kimenete viszont nem 100-at adott vissza a paraméter meghívására, hanem egy random számot, vagyis nem egy másolat készült, hanem egy új, inicializálatlan objektum.


Szóval ha csinálok egy saját másoló konstruktort minden egyes paramétert egyesével be kell írnom, hogy vegye át a szülőobjektumtól valami hasonló módon?:

MYCLASS(MYCLASS& rhs){ itsX=rhs.GetX(); }


Vagyis ha csinálok egy definiálatlan másoló konstruktort, akkor nem az alapértelmezett másolása hívódik meg az osztályomnak?



2017. febr. 3. 13:06
 1/2 anonim ***** válasza:
Igen ha csinálsz sajátot akkor az alapértelmezett nem fog lefutni mert felüldefiniáltad.
2017. febr. 3. 15:35
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

What? Ez C++?


class A {

public:

... A() {...} //konstruktor

... A(A &a) {...} //copy konstruktor

... ~A() {...} //desktruktor

};


Tehát ezt:

A a; //a-nál konstruktor

A b = a; //b-nél a copy konstruktor fut le, ahol a paraméter az 'a' objektum.

2017. febr. 3. 21:34
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!