Milyen jelzést szolgál a konverziós operator deklarációjában az operator neve után levő típus?
operator unsigned short()const;
Itt az unsigned short milyen jelzést szolgál?
Mi volna a különbség akkor ha nem unsigned shortot írnák hanem int-et?
Képzeld magad a fordító helyzetébe. Látsz egy ilyet:
operator() const;
Szerinted ez a konverziós operátor (vagy csak lemaradt az operator()-ról a paraméterlista?) milyen típusra konvertál?
Nem tudom milyen típusra konvertál.
De elárulhatnátok a lényeget mert több mint egy hete ezzel szenvedek.
Pls ne hagyjátok annyiban ezt a kérdés segítsetek belém verni az amit nem értek.
És még mindig nem tudom,hogy az operator után mire szolgál a típus megadása a deklarációban.
Nem hinném hogy ez határozná meg azt,hogy az operator unsigned short() unsigned short típust fog vissza adni.
És ez nem is így van,mert olyan típust fog vissza adni amilyen az objektum adattagja(amit vissza szeretnénk adni)az operator unsigned short-ban.
Ha az operator definíciójában az operator neve után levő típus milyen célt szolgál?
Arra már sikerült rájönnöm,hogy nem olyan típust ad vissza az operator amilyen típust megadunk az operator neve után.
Akkor most mire van?
Akkor hadd adjak egy példát.
int f()
{
return 1.5;
}
Ez a függvény a te példádban double-t ad vissza, hiszen azt adsz vissza, az előtte lévő int meg csak úgy udvariasságból van ott.
Mégis, amikor kipróbálod:
double teszt = f();
a teszt változóban 1.0 lesz, és nem 1.5.
Na, EZT gondold végig egy hétig.
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!