Ó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
- Cseréljük le a kiindulási
Tehenosztályban a nyers/rawKolomppointertshared_ptr<Kolomp>-ra!- Ne használjunk sehol raw pointert!
- Töröljük ki a feleslegessé vált kódrészeket!
- A farmerek kidolgoztak egy olyan kolompot, aminek változtatható
Csengohangjavan. Ennek az implementációja látható azOkosKolomposztályban.- Mutathat-e a
Tehenosztályshared_ptr<Kolomp>típusú adattagjaOkosKolompobjektumra? Ha igen, vajonOkosKolompként fog viselkedni, ha meghívjuk ahangotAdmetódusát? - Próbáljuk ki a min-ben, hogy különféle kolompokat adunk át!
- Mutathat-e a
- Kérjük le az előbbi feladatban beállított
OkosKolompot a tehéntől és állítsuk azt be egy másik tehénnek is! Írassuk ki a shared_ptruse_countértékét a beállítás előtt és után is!- Mi okozhatja, ha nem a várt számokat kapjuk? (1 és 2)
- Vizsgáljuk meg a tehén
getKolompmetódusának visszatérési típusát!
- Változtassuk meg az egyik tehén kolompjának a kolompolás számát!
- Mit tapasztalunk a másik tehén kolompolásakor?
- Mi a probléma forrása? (shared_ptr)
- Oldjuk meg, hogy smart pointer használatával minden tehénnek egyedi kolompja legyen!
- unique_ptr használatával oldjuk meg!
- Nézzük meg, hogy a setKolomp függvény miért nem fordul!
- Miért lehet ez? Mi lehet a megoldás?
- Próbáljuk ki, hogy egy tehenet másolunk!
- Mi lehet az oka annak, ami történik?
- Valósítsuk meg, hogy deep-copy történjen a clone anyag segítségével!
- Csakis unique pointert használjunk!
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:
2025-11-27
Létrehozva: 2025-11-27
Létrehozva: 2025-11-27