Szablony

Szablon funkcji

template <class Typek>
T& pewna_funkcja(Typek x)
{
    return x;
}

Szablon klasy

template <class Typek>
class Klasa
{
   Typek *x;
   void Metoda();
}

Szablon funkcji składowej (metody)

template <class Typek>
void Klasa<Typek>::Metoda()
{
 
}

Wzorzec klasy Wektor

Zaimplementuj szablon klasy Wektor, który w dynamicznie przydzielonej tablicy o określonym rozmiarze, przechowuje elementy dowolnego typu. Klasa ta powinna implementować następujące metody:

Przykładowy kod testujący klasę:

Wektor<int> liczby;
for(int i=0;i<100;i++) liczby.Dodaj(i);
cout << "Rozmiar " << liczby.Rozmiar() << " elementow " << liczby.IleElementow() << endl;
 
Wektor<Kwadrat> wektor_kwadratow;
for(int i=0;i<100;i++) 
{
   Kwadrat k(liczby[i]);
   wektor_kwadratow.Dodaj(k);
}
 
cout << "Pole kwadratu o boku " << liczby[5] << " wynosi " << wektor_kwadratow[5].Pole() << endl;

Zadania dodatkowe
Dodaj do klasy Wektor: