Ú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!
- Komplett RGB Gamer PC / RTX 3080 / i5-12490F / 32GB DDR5 / 250GB & 1TB SSD / IRÁNYÁRAS
- Magyar kiosztású Apple Magic Keyboard 2, Touch ID, teljes méretű
- Új Mac Studio M4 Max 2025 14C CPU /32C GPU / 36GB RAM / 512GB - 1 ÉV APPLE GARANCIA
- 2026 MacBook Air / MacBook Pro / M5 - M5 Pro - M5 MAX 14" / 16"
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD+HDD?,,Win.11
- Lenovo 40AH és 40A1 dokkoló, töltő is.
- Xeon E5 1650 v3, 2680 v3, 2690 v3 processzorok
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
