- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Dell notebook topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- SSD kibeszélő
- Őszköszöntő hardverkeverék
- Milyen TV-t vegyek?
- Autós kamerák
- Apple MacBook
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
Ú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!
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- MIUI / HyperOS topik
- Lakáshitel, lakásvásárlás
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Nintendo Wii U
- iPhone topik
- Vicces képek
- Háztartási gépek
- Feketelista, avagy a rossz boltok topicja
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- Keresek Zebra TC20 TC21 vagy valamilyen hasonló kaliberű 1D és 2D vonalkódok olvasására alkalmas pda
- Bomba ár! HP EliteBook 8440P - i5-520M I 4GB I 250GB I DVDRW I 14" HD I DP I W10 I Garancia!
- AlzaPower M7503CA Fast Charge 100W
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Apple Pad 5.generácio / 32GB / Wi-fi / 12Hó garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest