sspasic rece i procita mi misli:
Citat:
Hm, ako dobro razumem, na kraju od ovakvih struktura dobiješ stablo gde su na različitim nivoima listovi A<int>, A<double>, ...
Ako je ovo slucaj, mislim da nece ici bez nasledjivanja.
Mada zadatak to ne kaze i to ne trazi. To sam kasnije shvatio.
Zadatak kaze da u slucaju A<double> dobijam obican primerak sablona,
dok u slucaju A< vector<*A> > generalizovani cvor na clana liste, stabla, grafa ili vec kako ocu da to koristim. Da detaljisem klasa mora da ima jos neki podatak.
Kako god previse sam isteoretisao pa sam se zagubio i pogresno postavio zadatak.
A evo i resenja (valjda) za ono sto mi treba:
Code:
class Osnovna
{
};
template < typename _Sadrzaj>
class A: public Osnovna
{
// ...
_Sadrzaj M_sadrzaj;
};
typedef A<vector<Osnovna*>> Cvor_Cvor_vektor;
typedef A<map<string,Osnovna*>> Cvor_Cvor_map;
typedef A<int> Cvor_int;
typedef A<double> Cvor_double;
Malko nasledjivanja ne smeta ( i mora, svidjalo mi se ili ne ), jer svu pamet ocu da odradim u
A pa posle samo da typedef-ujem.
E sad treba biti lukav i videti sta ce biti sa curenjem memorije.
A za ono sto mi ne treba a pitah:
Mora da nesto ovako:
Code:
template < typename _Sadrzaj, typename template<typename _Class> _Container>
class A
{
_Container<_Sadrzaj> M_sadrzaj;
};
tj. mora da budem bas precizno sta ocu i to dal cu kontejner sa jednim ili dva templejt parametra.
Pa ko sto
Dragi Tata kaze morace da padnu specijalizacije ili nesto slicno.
Da zakljucim:
Zahvaljujem na savetima i inspiraciji!
I opet zatrazim: bacite neki link koji se bavi ovakvim ili slicnim problemima.
[
Ovu poruku je menjao DDMM dana 29.10.2003. u 17:32 GMT]