Template

A mai óra célja az öröklés ismeretének elmélyítése, és a heterogén kollekció megismerése.

Felkészülés a gyakorlatra

1. template fogalma

Mi a template, mire való? Mi a template paraméterek legfontosabb tulajdonsága?

Megoldás

A template egy recept, és megkérhetjük a fordítót, hogy adott paraméterekkel készítsen el nekünk egy-egy konkrét osztályt. A template paraméterek fordítási időben ismertek, lehetnek típusok is.

2. Verem osztálysablon

Vegyük kiindulási alapnak a 2. heti gyakorlaton előállt Verem típust.

  • Csináljunk belőle osztályt, saját memóriakezeléssel!
  • Ezután alakítsuk át sablonná, hogy bármilyen típust tudjon tárolni!
Megoldás

3. Matematikai vektor

Írjunk olyan osztálysablont, ami egy fixen N-dimenziós (matematikai) vektort valósít meg! A tárolt elemek típusa felhasználás módjától függően változhat (int, double, unsigned, stb.), így legyen a típus is sablonparaméter!

Megvalósítandó műveletek:

  • konstruktor
  • elemek egyenkénti elérése: indexelés
  • kiírás
  • összeadás, globális függvényként
  • tömbös konstruktor
  • (alacsonyabb dimenziójúból konstruálás, alacsonyabb dimenziójúvá csonkolás)
  • (initializer_list-es konstruktor)
Megoldás