Órai feladat
10. Gyakorlat¶
Nulladik feladat!
A feladatok megoldása előtt töltsük le a kiindulási kódunkat, ezt kiegészítve fogunk dolgozni!
Kiindulási kód
- Egészítsük ki a
Tehen
osztályt egy destruktorral. A destruktor írja ki a standard outputra, hogy:- "[nev] megsemmisul", ahol a [nev] helyére illesszük be a megsemmisülő tehén nevét!
- Példányosítsuk le a
main
ben a tehenet! A tehén neve legyen "Main"!- Hozzunk létre a "Main" után egy "Main2" nevű tehenet is! Milyen sorrendben fognak létrejönni és megsemmisülni?
- Hozzunk létre egy globális tehén objektumot is! Neve legyen "Global"! Mikor jön létre és mikor szűnik meg ez az objektum?
- Hozzunk létre a
main
ben egy dinamikusan módon lefoglalt tehenet! Neve legyen: "Dinamikus"!- Mit tapasztalunk, mi történik, ha expliciten nem hívjuk meg a destruktort?
- Minden tehénnek lehet egy darab kolompja (a
Kolomp
osztály reprezentálja). Adjunk egyKolomp
pointer adattagot aTehen
osztályhoz!- Kezdetben egy tehén sem rendelkezik kolomppal. Legyen
nullptr
-re inicializálva a kolomp pointer! - Hozzunk létre gettert az adattaghoz!
- Hozzunk létre egy settert az adattaghoz, amely egy
Kolomp
pointert vár paraméterként! - Fel kell-e szabadítani a destruktorban az így letárolt kolompot?
- Kezdetben egy tehén sem rendelkezik kolomppal. Legyen
- Módosítsuk a
Tehen
hangot ad metódusát! Ha van neki kolompja, akkor fűzzük hozzá a kolomphangotAd
metódusa által visszaadott értéket a "Muu" sztringhez! - Írjunk egy
kolompBeallitas(Tehen& t)
nevű globális függvényt, amely egy tehén referenciát vár! Ennek a tehénnek fogunk beállítani kolompot! Olvassunk be egy egész számot! Ez lesz a kolompolások száma. Példányosítsunk le akolompBeallitas
ban egy, a beolvasott számnak megfelelő kolompot és teszteljük a tehenet ahangotAd
segítségével! Ha a felhasználó 0-át ad meg, akkor ne állítsunk be kolompot!- A
main
ben is teszteljük a kolomppal felturbózott tehenet ahangotAd
segítségével!
- A
- Vizsgáljuk meg a 7. feladatra adott megoldásunkat! Helyes-e memóriakezelés szempontjából? Szükség esetén javítsuk ki olyan módon, hogy a kolomp objektum élettartama csakis az őt birtokló tehéntől függjön!
- Írjunk egy globális metódust, ami először referenciaként vár egy tehenet és meghívja a
hangotAd
metódusát! Próbáljuk ki amain
ből! Módosítsunk a metóduson: várja érték szerint a paraméterét! Így is futtassuk le a kódot! - Írjuk felül az egyik tehenet a
main
ben azzal, amelyiknek kolompot állítottunk be. Hívd meg a felülírt tehénhangotAd
metódusát is. Mit tapasztalunk? - Javítsuk ki a 9-es és 10-es feladatokban tapasztalt jelenségeket! Írjuk meg a
Tehen
osztály copy konstruktorát és értékadás operátorát! Ezekbe is tegyünk kiíratást!- Kell-e írnunk copy konstruktort és az értékadás operátort a kolomp osztályban?
Elakadtál, nem tudtad követni az órát?! Vagy csak átismételnéd? Egy lehetséges megoldását a feladatoknak megmutatjuk!
Órai feladat megoldása
Utolsó frissítés:
2024-12-09
Létrehozva: 2024-08-01
Létrehozva: 2024-08-01