zdravim, chci napsat sablonu tridy Matice s tim, ze uz mam hotovou sablonu tridy Vektor. Ta trida matice bude definovana jako pole vektoru (to jsou radky matice). Vypada to docela jednodusse, ale haze mi to chyby.. Samozrejme, ze kdyz budu chtit matici<int> tak se musi vytvorit pole vektoru<int>.
Jak se to dela? Ma sablona tridy Matice dedit od Vektoru? Nebo mam v public casti Vektor nastavit friend class Matice?
Diky.
Fórum › C / C++
Sablony #2
Zdravím,
zaleží na tobě, jak se rozhodneš. Osobně bych dal přednsot adaptaci, než dědičnosti, ael to záleí již na tobě. Takže třeba:
template<typename T, class Alloc = std::alocator<T> >
class Matice
{
std::vector<std::vector<T, Alloc> > mData; // ta mezera je dulezita
public:
....
};
nebo
emplate<typename T, class Alloc = std::alocator<T> >
class Matice: public std::vector<std::vector<T, Alloc> >
{
public:
Matice()
: std::vector<std::vector<T, Alloc> >()
{}
};
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 133 hostů
Podobná vlákna
C++ šablony — založil Kenvelo
Specializace šablony — založil t
Spicializece sablony — založil Jan Kubalek
šablony u tříd — založil Kuge
Flash šablony — založil Jarda777
Moderátoři diskuze