Hogy írhatom ki a wtf2 szöveget, ami egy másolt konstruktorban van?
Figyelt kérdés
Eddig jutottam:
#include <iostream>
class prb{
public:
prb();
prb(prb&);
~prb();
};
prb::prb() {
std::cout << "wtf";
}
prb::~prb() {
std::cout << "\nwtf3" << std::endl;
}
prb::prb(prb&) {
std::cout << "wtf2";
}
int main() {
prb *osd = new prb;
delete osd;
return 0;
}
2012. okt. 29. 14:05
1/2 iostream válasza:
Mindig ez a new, delete. Felesleges, amit lehet a stacken hozzunk létre (és mit nem lehet, ugye).
Amúgy a másolÓ konstruktor, nem másolt. Akkor hívódik meg, amikor egy másik, ugyanolyan típusú objektummal inicializálod az objektumod.
Tehát
prb osd(prb());
Ez így persze nem fog lefordulni, mert nem const referenciával adtad meg. Írd át const prb&-re.
2/2 A kérdező kommentje:
Értem, köszönöm!
2012. okt. 30. 06:00
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!