- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
- Socket AM4
- Szünetmentes tápegységek (UPS)
- OLED TV topic
- Milyen alaplapot vegyek?
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- iPad topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Házimozi belépő szinten
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Hali!
Az eredeti kód azért nem fordul, mert void visszatérési értékű a getParameter() függvényed a Gift osztályban, ami miatt a cout elszáll.
Ezt megoldhatod úgy, hogy inkább double visszatérési értékűvé változtatod:
double getParameter(){ return 0; }; /// void getParameter(){} helyettDe ennél a kiíratást egyszerűbben oldanám meg, mondjuk lehetne minden osztálynak egy void print() művelete, ami épp a feladat által kiírt tulajdonságokat írná ki.
Egy lehetséges példa a Te feladatodra vonatkozóan:
-a Gift osztályban deklarálj egy
virtual void print();
függvényt, az összes többi osztályban pedig egy sima (nem virtuális)
void print();
függvényt.
-maga a megvalósítás pedig a következőképpen nézhetne ki (csak egy lehetséges megoldás, lehetne rajta bőven csiszolni, de gyorsmegoldásként szerintem megfelel):using namespace std;
void Gift::print()
{
cout << "Weight: " << baseWeight << endl;
cout << "Quantity: " << db << endl;
}
void ColoredEgg::print()
{
cout << "Name: Colored Egg" << endl;
cout << "Quantity: " << getWeight() << endl;
//Paraméter:
char colours[4][7] = { "RED", "GREEN", "BLUE", "VIOLET" };
cout <<"Color: "<< colours[colour] << endl;
}
void ChocolateFigure::print()
{
cout << "Name: Chocolate Figure" << endl;
cout << "Quantity: " << getWeight() << endl;
//Paraméter:
std::cout <<"Melting Point: "<< MeltingPoint << endl;
}
void Candy::print()
{
cout << "Name: Candy" << endl;
cout << "Quantity: " << getWeight() << endl;
//Paraméter:
char quality_names[4][5] = { "HARD" , "SOFT" };
std::cout <<"Quality: "<< quality_names[quality] << endl;
}-Ezenkívül szerintem a destruktort a Gift osztályban virtuálissá kellene tenned, hogy ne legyen memóriaszivárgás:
virtual ~Gift() {}
A Testing.cpp-ben pedig a for ciklus akkor ez alapján a következőképpen nézhetne ki (a többi rendben van):
for (int i = 0; i < 3; i++) // kiíratjuk
{
cout << "************************" <<endl; //csak az elválasztás kedvéért
Present[i]->print();
}
Ú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!
- Luck Dragon: Asszociációs játék. :)
- Wise (ex-TransferWise)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
- Socket AM4
- Renault, Dacia topik
- Visszatérhet a Nokia 800 Tough
- Váratlan kütyü hódít a nők körében
- Szünetmentes tápegységek (UPS)
- Kecskemét és környéke adok-veszek-beszélgetek
- További aktív témák...
- ÚJ SOHA NEM HASZNÁLT! Hihetetlen minőség megfizethető áron! Razer blade 17 RTX2080super 4koled TOUCH
- 1MIISI HELYETT! vadonatúj garanciás asus zephyrus g16 ! 32GB RAM!!! Oled
- Bravo 15 C7VE 15.6" FHD IPS Ryzen 7 7735HS RTX 4050 16GB 512GB NVMe magyar vbill gar
- Eladó új 17pro max 2tb kék színű készülék, 1év Apple Garanciával
- Eladó új iPhone 17Pro 256Gb kék színű nemetországban vasarolt, 1év garanciális készülék
- AeroCool Saturn 12F ARGB Pro 3db 120mm rendszer hűtő + 3 db jár hozzá+2 távirányitó +még 1 vezérlö
- Hp, Dell gyári 65W USB-C Type-C töltők, tápegységek
- HIBÁTLAN APPLE WATCH ULTRA 2 NATURAL TITANIUM 49MM -1 ÉV GARANCIA - MS3714, 100% AKKUMULÁTOR
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS2107, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 11 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3126, 98% Akkumulátor
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest