Kezdőoldal » Számítástechnika » Programozás » Ez miért nem fordul le? Nem...

Ez miért nem fordul le? Nem értem, hogy miért rossz.

Figyelt kérdés

[link]


Hibaüzenet:

error: cannot convert 'cDog*' to 'cMove*' in initialization


2012. szept. 1. 02:11
 1/9 A kérdező kommentje:

Elírtam a cDog konstruktorába a i_DogMove -t

Már jó .D

2012. szept. 1. 02:17
 2/9 A kérdező kommentje:

De nem értem teljesen amit hibáztam el tudnátok magyarázni?

Így jó:

cDog :: cDog( ushort age , float weight , COLOR color , long speed ):

i_DogMove( new cMove( speed ) ) ,

i_age( new ushort( age ) ) ,

i_weight( new float( weight ) ) ,

i_color( new COLOR( color ) ) { //Itt problémázik.

cout << "cDog konstruktor \n" ; }


És így volt rossz:

cDog :: cDog( ushort age , float weight , COLOR color , long speed ):

i_DogMove( new cDog( speed ) ) ,

i_age( new ushort( age ) ) ,

i_weight( new float( weight ) ) ,

i_color( new COLOR( color ) ) { //Itt problémázik.

cout << "cDog konstruktor \n" ; }

2012. szept. 1. 02:20
 3/9 A kérdező kommentje:

Még mindig nem jó lefordul de nem csinálja amit kéne.

Befagy.

2012. szept. 1. 02:25
 4/9 A kérdező kommentje:
Segítsetek.
2012. szept. 1. 02:43
 5/9 iostream ***** válasza:

"De nem értem teljesen amit hibáztam el tudnátok magyarázni?"


Van egy cMove* típusú pointered, és inicializálni akarod egy cDog* típusú pointerrel. A két típus között semmiféle öröklődési kapcsolat nincs. Szerinted mi a probléma?


Amúgy miért használsz mindenre mutatókat?

2012. szept. 1. 07:15
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Ha jól sejtem, kedves kérdező, te már tettél fel itt programozós kérdést, ahol szintén egy rakat látszólag teljesen felesleges pointer és egy csomó állatfajta volt.


Szerintem kezdj el egy másik könyvet vagy valami, mert így nem fog menni. Legalábbis én ezt javaslom így az eddigiekből.

2012. szept. 1. 16:57
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Hát akkor mikor kéne használnom a pointereket adattagokként,teljesen feleslegesek csak gyakorlásképp csinálom más értelmét nem látom.
2012. szept. 1. 17:00
 8/9 anonim ***** válasza:

"Hát akkor mikor kéne használnom a pointereket adattagokként"

Első megközelítésbe adattagokként nem pontereket használunk.

Pointereket akkor szoktak használni ha egy konkrét objektumot több objektum is birtokol, vagy a birtoklás dinamikusan változhat.

Pl. egy szimuláció a bankok és emberek között. Egy bankba több ember nyithat számlát, akik ugyan abba a bankba vannak azoknak a bank adattagjuk ugyan arra a bank osztálybeli objektumra mutat. Persze a bank objektumnak is illik nyilvántartani az ügyfeleket valamilyen ember/ügyfél pointereket tároló konténerbe. Egyszerűség kedvéért lehet hogy egyszerre egy ember csak egy baknak az ügyfele.

2012. szept. 1. 18:55
Hasznos számodra ez a válasz?
 9/9 iostream ***** válasza:
Sőt, ha polimorfikusan akarsz birtokolni valamit, akkor is mutató vagy referencia kell.
2012. szept. 1. 19:49
Hasznos számodra ez a válasz?

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!