Kezdőoldal » Számítástechnika » Programozás » Segítene valaki?

Segítene valaki?

Figyelt kérdés

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?


2012. febr. 21. 14:37
1 2
 1/11 iostream ***** válasza:

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.

2012. febr. 21. 14:47
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

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.

2012. febr. 21. 15:10
 3/11 A kérdező kommentje:
Miért ad vissza mutatót a függvény ha egyszer a visszatérési értéke hivatkozásként van deklarálva?
2012. febr. 21. 15:13
 4/11 iostream ***** válasza:

Bolyhos típusa SIMPLECAT.

*Bolyhos típusa SIMPLECAT.

SIMPLECAT-ból lehet SIMPLECAT& ha azt kívánja a környezet.

2012. febr. 21. 15:53
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

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.

2012. febr. 21. 16:01
 6/11 A kérdező kommentje:

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.

2012. febr. 21. 16:09
 7/11 iostream ***** válasza:

"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Ó.

2012. febr. 21. 16:38
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
Ha a deklarációnál írod oda a *-ot azzal jelzed hogy az egy mutató lesz. Viszont ha bárhol máshol (mondjuk értékadásnál) írod elé a *-ot akkor azzal jelzed hogy nem a mutató által tárolt memóriacímre vagy kíváncsi, hanem a memóriacímen tárolt értékre.
2012. febr. 22. 17:33
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

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.

2012. febr. 22. 19:24
 10/11 iostream ***** válasza:

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.

2012. febr. 23. 11:24
Hasznos számodra ez a válasz?
1 2

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

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!