» »

Šablone razredov

Šablone razredov

DubleG ::

Zdravo!

Zanima me ali se pravilno lotevam naloge in kako naj sestavim konstruktor...

Razred vsebuje polje ene dimenzije ter število elementov v polju (maksimalna velikost polja je 10). Velikost polja podajte razredu s parametrom.

template<class tip>
class Aritmetika
{
    private:
    int velikost;
    tip polje[velikost];
    
    public:
    Aritmetika(){};
    Aritmetika( ): ;


Glavni program pošlje:
double polje1[]={2,3,4.2,2.1};
Aritmetika<double> a1(polje1, (sizeof polje1/sizeof polje1[0]));

ter
string polje2[10]={"Medveda", "je", "v", "blizini", "gostilne", "Pod", "Roznikom", "uspavala", "intervencijska", "skupina"};

Aritmetika<string> a2(polje2, (sizeof polje2/sizeof polje2[0])); 

DubleG ::

Aritmetika(tip* pol, int vel): polje(pol), velikost(vel){};

Tole deluje. Na pamet. Ne vem pa zakaj?

BlueRunner ::

To je deklaracija konstruktorja, ki inicializira polje "polje" z vrednostjo zapisano v parametru "pol", polje "velikost" pa z vrednostjo zapisano v parametru "vel".

DubleG ::

Ok kul,hvala.

Zanima me, ali se specializacija razreda Aritmetika v primeru če so vhodni podatki tipa string naredi še kako drugače...
template <>
class Aritmetika<string> 


in potem se pač priredijo metode tako da se vsi tipi šablone zamenjajo s tipi, ki jih pač rabimo...

Torej, obstaja način, da se te metode znotraj razreda specializirajo še kako drugače, kot pa da se kopira cel razred?
lp in hvala


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Funkcija vrnitev kazalca

Oddelek: Programiranje
101185 (901) MrStein
»

[PHP] empty array

Oddelek: Programiranje
91840 (1707) BigWhale
»

Datoteke c++ pomoč pri nalogi ...

Oddelek: Programiranje
61061 (909) vbknez
»

Branje binarne datoteke v polje znakov - C++

Oddelek: Programiranje
81789 (1657) Tutankhamun
»

kazalci in polje

Oddelek: Programiranje
51674 (1595) rasta

Več podobnih tem