Segítene valaki?
Van egy ilyen függvény:
SIMPLECAT& Vgfhd(){
SIMPLECAT *Bolyhos = new SIMPLECAT;
return *Bolyhos;}
A SIMPLECAT& visszatérési értéke egy mutató igaz mert ott van ez:&?
Akkor miért ad vissza ez a függvény egy mutatót?
Hallod nagyon belelendültetek ebbe a SIMPLECAT-ba. Nem is tudom hanyadik ilyen kérdés. A & itt a referencia jele. A referencia nem pointer. A referencia az egy névhozzárendelés egy létező objektumhoz. Úgy viselkedik, mintha egy SIMPLECAT* const mutató lenne (azaz egy olyan mutató, aminek nem tudod megváltoztatni, hova mutasson), csak mindenhol dereferálva.
int i = 10;
int& i_ref = i;
i_ref = 11;
Na, ekkor i is 11 lesz, mert i_ref csak az i egy új neve lett.
Nem nagyon értem.
Van ez a függvény : SIMPLECAT& ghg();
Szóval ez olyan mintha ezt írtam volna : SIMPLECAT* const
OKÉ.
De mégsem értem.
Nem is hivatkozást ad vissza a függvény mégis úgy van deklarálva,hogy hivatkozást adjon vissza.Nem értem segítsetek.
Bolyhos típusa SIMPLECAT.
*Bolyhos típusa SIMPLECAT.
SIMPLECAT-ból lehet SIMPLECAT& ha azt kívánja a környezet.
Iostream te sosem tudtad kielégíteni a válaszaiddal az igényeimet. :(
Nem értelek egy kicsit sem bocsi :D
Mindig másról beszélsz.Mindig fel idegesítesz.
Írja meg valaki más.mert nem értem.
A visszatérési értékről beszéljünk oké ne a bolyhosról.
A függvény visszatérési értéke egy mutató.
A függvény definíciójában a visszatérési érték pedig egy mutató.
Értitek nem stimmel és a fordító nem dob hibát.
Nem stimmel mert a deklarációba meg adtam,hogy a függvény visszatérési értéke egy hivatkozás lesz lásd:SIMPLECAT& nev();
De én ennek ellenére én egy mutatót adok vissza a függvényből és még is lefordul.
Értitek hivatkozásként deklarálom a függvény visszatérési értékét még is vissza lehet adni egy mutatót.
ha hivatkozásként deklarálom a függvény visszatérési értékét akkor csak hivatkozást adhat vissza nem?
Mert ha igen akkor nem értem mert vissza lehet adni mutatót is.
"A függvény visszatérési értéke egy mutató.
A függvény definíciójában a visszatérési érték pedig egy mutató."
Ezt mégis miből gondolod? Hányszor írjam még le.
Bolyhos típusa mutató.
*Bolyhos típusa NEM mutató. Hanem SIMPLECAT. NEM MUTATÓ.
Az a baj,hogy ti nem értitek amit én akarok mondani.
Bármilyen jól elmagyarázom a problémám mindig más írtok.
Függvényről van szó nem mutatókról.
A függvény visszatérési értéke egy típus.
A Bolyhos típusa SIMPLECAT*, azaz mutató. A *Bolyhos dereferálja ezt a mutatót, tehát az ő típusa SIMPLECAT. Objektum referenciát lehet állítani egy objektumra. Tehát ha referenciával térek vissza, akkor úgy kell írnom a return-t, mintha vissza akarnék adni egy objektumot (a *Bolyhos pedig egy objektum, nem egy mutató), csak másolás helyett csak a neve adódik vissza.
További 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!