- Realme GT 2 - aláírjuk
- Szakít a OnePlus és a Hasselblad?
- Most a Galaxy S25 FE megjelenésére tippelnek
- Samsung Galaxy Buds3 Pro - szárat eresztettek a babok
- Google Pixel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Honor 200 Pro - mobilportré
- Motorola Edge 40 - jó bőr
- Samsung Galaxy S25 - végre van kicsi!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
Hirdetés
Új hozzászólás Aktív témák
-
doc
nagyúr
ezt milyen megfontolasbol irtad a 'C' topicba? az osztaly ismeretlen fogalom a C-ben
ezzel inkabb a programozas totyikba menj, meg nem art leirni hogy milyen nyelvrol van szo, plusz az altalad eddig megalkotott kodot berakni, azt ne vard hogy valaki csak ugy megirja helyetted a hazidat -
Trub
tag
Nálam így már lefut:
/*
C++ nyelven szeretnénk modellt készíteni a következő leírás alapján. Egy óvodás hátizsákjába sok (max. 100) játék fér. Minden játéknak van népszerűségi indexe (egész szám, hány óvodás irigykedik a játék tulajdonosára), és minden játékot meg lehet nyomni (push()), amire minden játék máshogy reagál. Játékból több fajta is van, és a játékfajták száma később csak nőni fog. Játékok jelenleg az alábbiak:
• Macintosh-MACi (index: 15, verziószám: egész). Ha megnyomják, és a verziószám legalább 10, akkor kiírja, hogy „Én is unix vagyok”.
• Linux-pingvin (kezdő index: 500, kernel_verzió: sztring), ha megnyomják, kiírja a kernel verziószámát, és ha az index kisebb, mint 97, akkor 4-gyel megnöveli. Ha megsemmisül, kiírja, hogy „UNIX4EVER”.
• Microsoft-majom (kezdő index: 53, vagyon: long double). ha megnyomják, kiírja, hogy „I! LOVE! THIS! COMPANY!!!”.
A rendszerben a következő funkciókat kell megvalósítani:
• hátizsák átlagos népszerűségi indexének lekérése (getAvgPopularity())
• hátizsákba új játék behelyezése (addToy())
• játék népszerűségének lekérdezése (getPopularity())
• minden játékhoz a megnyomás (push())
• pingvin destruktora.
Feladatok:
• Tervezzen meg egy olyan OO modellt, mely a fenti követelményeket kielégíti! Rajzolja fel a modell osztálydiagramját! (0,5p)
• Deklarálja a Hátizsák, Játék, Maci, Pingvin osztályokat és az elvárt funkciók ellátásához szükséges tagfüggvényeket! Használja a dőlt betűs neveket! (2)
• Implementálja a fenti osztályokat és azok tagfüggvényeit! Az osztályokat olyan módon készítse el, hogy újabb játék-típus felvételekor a már meglevő kódot ne kelljen módosítani! (1,5 pont)
• Írjon egy egyszerű programrészletet, ami készít egy hátizsákot, és elhelyez benne egy pingvint (kernel verzió: 2.6.11) és egy majmot (vagyona $3.5e274). Írassa ki a hátizsák átlagos népszerűségét, majd nyomja meg a pingvint, és így is írja ki a hátizsák népszerűségét! (1 pont)
*/
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
class Jatek {
protected:
int index;
public:
Jatek(int i) : index(i) {}
int getPopularity() {
return index;
}
virtual void push() = 0;
virtual ~Jatek() {}
};
class Maci : public Jatek {
int verzio;
public:
Maci(int v) : Jatek(14), verzio(v) {}
void push() {
if (verzio >= 10)
cout << "En is unix vagyok!"
<< endl;
}
};
class Pingvin : public Jatek {
string ker_ver;
public:
Pingvin(string k) : Jatek(43),
ker_ver(k) {}
void push() {
cout << ker_ver << endl;
if (index < 97) index += 4;
}
~Pingvin() {
cout << "UNIX4EVER" << endl;
}
};
class Hatizsak {
Jatek* tar[100];
int n;
public:
Hatizsak() : n(0) {}
~Hatizsak() {
for (int i = 0; i < n; i++) {
delete tar[i];// ha adoptal
}
}
void addToy(Jatek* j) {
if (n < 100) {
tar[n] = j;
n++;
} else {
delete j; // ha adoptal
}
}
int getAvgPopularity() {
int sum = 0;
for (int i = 0; i < n; i++) {
sum +=
tar[i]->getPopularity();
}
return sum/n;
}
};
// a feladat szerint nem kell
class Majom : public Jatek {
long double vagyon;
public:
Majom(long double ld) :
Jatek(43), vagyon(ld) {}
void push() {
cout << "I! LOVE! THIS! COMPANY!!!"
<< endl;
}
};
int main() {
Hatizsak h;
Pingvin* p = new Pingvin("2.6.11");
Majom* m = new Majom(3.5e274);
h.addToy(p);
h.addToy(m);
cout << h.getAvgPopularity() << endl;
p->push();
cout << h.getAvgPopularity() << endl;
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Motoros topic
- PROHARDVER! feedback: bugok, problémák, ötletek
- GL.iNet Flint 2 (GL-MT6000) router
- Milyen autót vegyek?
- Építő/felújító topik
- Tőzsde és gazdaság
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Nincs kill switch az NVIDIA chipekben
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- P14s Gen5 14" FHD+ IPS Ryzen 7 PRO 8840HS Radeon 780M 16GB 512GB NVMe ujjlolv IR kam gar
- P15 Gen2i 15.6" FHD IPS i7-11850H RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- GIGABYTE G27F 2 165Hz IPS gaming monitor /2026.12.12-ig Garis/
- Lenovo ThinkPad Yoga 2in1 Touch Laptop! AMD Ryzen 7 PRO 7730U / 16GB 3200MHz / 256GB NVMe
- HIBÁTLAN iPhone 14 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3147
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- GYÖNYÖRŰ iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2183, 100% Akkumulátor
- Bomba ár! Dell Latitude E7270 - i7-6GEN I 8GB I 256GB SSD I 12,5" FHD I HDMI I CAM I W10 I Gari!
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3055
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
Állásajánlatok
Cég: FOTC
Város: Budapest