Kezdőoldal » Számítástechnika » Programozás » Bocs, hogy megkérdem de...

Bocs, hogy megkérdem de nemsikerült megértenem google-s találatokkal azt, hogy az explicit kulcsszó mire jó?

Figyelt kérdés
Láttam egy ilyen konstruktort,itt: [link]
2013. máj. 8. 02:53
 1/5 iostream ***** válasza:

"A szabványos C++ az explicit kulcsszót használja annak jelölésére, hogy egy konstruktor nem használható implicit konverzióra."


Azaz ha van egy X konstruktorod, ami egy darab T típust vesz át, akkor ahol X-re lenne szükség és T-t írsz oda, nem fog lefordulni.


Tehát:

class A

{

A(int);

explicit A(char);

};

void f(A);


int main()

{

f(5); //lefordul, mert int-ből A implicit konvertálódik

f('a'); //nem fordul, mert charból explicit nem lesz A

}

2013. máj. 8. 09:31
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Nem értem. :(
2013. máj. 8. 14:00
 3/5 anonim ***** válasza:
Jó magyar nyelven le van irva de elmagyarázom neked, az emberek szintjén xd. Például a példában, int-ből char konvertálodhat(implicit). De char-ból char nem ezért nem is fordul le.
2013. máj. 8. 21:02
Hasznos számodra ez a válasz?
 4/5 iostream ***** válasza:
Nem. intból A konvertálódhat, hiszen van egy olyan konstruktora, ami egy darab int paramétert vár. Ez implicit konverzió lesz, hiszen ha leírsz egy intet, és a környezet A-t vár, akkor elfogadja (lásd: lefordul a függvényhívás, A paramétert vár, de intet kap, a fordító csendben beilleszt egy A konstruktorhívást). Ha explicit a konstruktor, akkor nem fogja ezt megcsinálni, neked kell kézzel, explicit berakni a konstruktorhívást.
2013. máj. 8. 22:00
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Nem értem miről beszélsz(bocs,hogy buta vagyok hozzá tudom,hogy nem vagyok intelligens)Mi az az A amiről az iostream beszél?


Amit értek:

A példájában a konstruktor túl van terhelve egyik int et a másik chart vár de a char verziós az explicit.


Magyarázzátok el érthetőbben pls.

2013. máj. 9. 00:23

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!