Šablony
V návaznosti na řešený příklad ze zásobníkem, vytvořte šablonu pro frontu. Prvky budeme opět ukládat do dynamicky vytvořeného pole. Doporučuji nejprve odladit třídu fronta pro konkrétní jednoduchý datový typ (např. int). Nezapomeňte ošetřit posun prvku v poli. Prvky se přidávají na konec a odebírají ze začátku. Časem se může stát, že první prvek fronty se vybíráním posune až na konec pole! Nejvhodnějšíje využít tzv. setřásání pole. Tedy jakmile se nám uvolní na začátku pole prvky. Popřesunujeme (setřeseme) další prvky na začátek pole.
Pomocí šablon specifikujeme, jak definovat skupinu příbuzných tříd. Šablony nazýváme také generické nebo parametrizované konstrukce, případně jako metatřídy. Šablona se definuje:
template <class typ> class AA
{
typ h;
public:
AA(typ x);
typ DejA();
};
//definice metod šablony
template <class typ> AA<typ>::AA(typ x)
{
h=x;
}
V lomených závorkách jsou formální parametry, které mohou být buď typové nebo hodnotové. Typové parametry jsou uvedeny klíčovým slovem class nebo typename.
Autor: Filip Koval