- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Sony Xperia 1 VII - Látod-e, esteledik
- Milyen okostelefont vegyek?
- Yettel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- A Pixel 10 minden színben és oldalról
- Honor 400 Pro - Gép a képben
- Honor 200 - kétszázért pont jó lenne
Hirdetés
Új hozzászólás Aktív témák
-
-
Chris_T
tag
Újabb problémába futottam:
Objektum attrib.-jait akarom fájlba kiíratni, és ahogy a beolvasáskor a sor elején lévő betű határozza meg hogy az adott sor milyen objektum tulajdonságait tartalmazza (ez alapján lesz létrehozva)
Fáljba íratáskor ugyanigy a sor elejére lenne irva hogy milyen tiupusú (t, k, h)
Találtam is rá egy megoldást:
cout << typeid(alakzatok[0]).name()
De sajnos az általános Alakzat-tömb miatt mindenre Alakzatot ir,
Egy új adattag bevezetésére gondoltam ami minden objektumnál tárolná a tipusát, tudna esetleg valaki egy ötletet mondani ennek elkerülésére ? (valamilyen módszerre gondoltam ami a typeid-t használja fel, de az azonos tömbpointerek miatt ez nem jó)
-
Chris_T
tag
Köszönöm a segítséget
Most hogy nezem, nem is ertem p-t miert Alakzatnak valasztottam
kiegészítve castolással, most már müködik igy isTeglalap *p;
p = (Teglalap*)alakzatok[0];
cout << "a teglalap A oldala: " << p->getA() << endl;Illetve a következő forma, amit egy másik fórumon találtam, az is müködik
cout << "oldalak: " << static_cast<Teglalap *>(alakzatok[0])->getA() << " es " << static_cast<Teglalap *>(alakzatok[0])->getB() << endl;
Ami miatt mérgelődök hogy, a sok kombincáioban, amit probáltam, a static_cast is benne volt, csak ott valami más volt a gond (de egyébként jó lett volna ezek szerint)
-
Chris_T
tag
Üdv.
Gyerekosztályra való castolásban kellene segítség, már sokféleképp próbáltam, sehogyse müködik:
A két osztály:
ösosztály: Alakzat ( int x, y tagok es getX() getY() fv-k ) //x,y: középpont
gyerekosztály: Teglalap ( int a, b tagok es getA() getB() fv-k) //a,b: oldalaklétre van hozva egy ösosztály tömb, amibe kerülhet Teglalap, Kor, Haromszog is:
Alakzat* alakzatok[20];utána beleteszek egy téglalapot:
alakzatok[i] = new Teglalap(0, 0, 10, 20);de a téglalap metódusait már nem tudom meghívni a tömbből:
Alakzat *p;
p = dynamic_cast<Teglalap*>(alakzatok[0]);
cout << "a teglalap a oldala: " << p->getA() << endl;'class Alakzat' has no member named 'getA'
(Próbálkoztam már többek közt azzal is hogy eleve Alakzat osztályra való konvertálással teszem be a tömbbe, illetve a staic, dynamic cast se segített)
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Hálózati / IP kamera
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- OLED TV topic
- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Milyen Android TV boxot vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Vezetékes FEJhallgatók
- További aktív témák...
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- LG 27GS95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / 1000 Nits / NVIDIA G-Sync / AMD FreeSync
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / GTX 1660Ti / 16GB DDR4 / 500GB SSD
- Samsung Galaxy Watch Ultra Titanium Gray Használt, karcmentes, garanciával 2027. január 29-ig
Állásajánlatok
Cég: FOTC
Város: Budapest