A programozók gyakran használják az operator függvényeket valamint a konverziós operátorokat?
Ezekre gondolok:
const Dog operator++();
operator unsigned short();
Az operátor függvényeket gyakran, sokszor így léptetik a ciklusban a ciklusszámlálót.
Konverziót már ritkábban, mert adatvesztést okozhat, és a program helyességét is nehezebb ellenőrizni.
De miért léptetik operatorral például a ciklus számlálót ha csak egy függvényt is írhatna rá az illető ami vissza adja a változó értékét.
Az operatorokat nemkehet túlterhelni két ciklus számlálóra,hogyan tudnának írni operatort sehogy.
Akkor azzal az egy ciklus számlálóval mondjuk miért kivételeznek miért írnak rá operatort ha helyettesíthetnék egy függvénnyel.
Gyakran pl. matematikai függvénykönyvtárak írásakor használják. Pl komplex szám osztálynál is van a szokásos + / * - műveletek, ezen operátorokhoz a szokásos értelmet rendelik. Itt van komplex osztálybeli double-ba typecast operátor ...
Vagy mondok egy gyakran használt operátor oveloading-ot.
<< -t szokták, így pl működik cout << myobj << endl;
Ahol myobj egy saját osztálybeli objektum.
Template-ek írásánál/használlatánál. Az STL tele van ilyen template-ekkel.
---------------------------------
"De miért léptetik operatorral például a ciklus számlálót ha csak egy függvényt is írhatna rá az illető ami vissza adja a változó értékét."
Mert mondjuk valamilyen bonyolult adatsutruktúrát kell bejárni pl egy fát inorder bejárással, ezt a bejáró iterátort már implementálták (profi szoftverfejlesztők) egy template-be. Így általánosan megírták, nem kell minden osztályra megírni, nem kell nekem bajlódni vele ...
Vagy pl általános rendező algoritmus működik minden osztályra amire definiálva van a < operátor, egyértelmű.
-------------------------------------------------------
"Az operatorokat nemkehet túlterhelni két ciklus számlálóra,hogyan tudnának írni operatort sehogy."
Erre ún. iterátort szoktak használni. Nem mindig olyan az adott feladat hogy azt kívánja meg hogy for (int i=1;i<n;i++) ... lehet hogy egy gráfot kell bejárni, vagy egy halmaz elemeit stb.
"Akkor azzal az egy ciklus számlálóval mondjuk miért kivételeznek miért írnak rá operatort ha helyettesíthetnék egy függvénnyel."
Ezt fentebb azt hiszem kifejtettem.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!