Copy constructorban valaki tud segíteni?
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?
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.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!