Hoi allemaal,
Ik heb een aantal vraagjes over templates.
Ik heb veel voorbeelden gezien (in boeken en forums) maar weet niet hoe het precies zit met het overerven van templates in verschillende klasses.
Stel ik defineer de volgende twee classes moet ik dan alleen bij de superklasse (stack) zetten? dus zo
-- begin code
template<class type>class Stack{
public:
typedef int value_type;
virtual bool empty() const = 0;
virtual int size() const = 0;
virtual value_type top() const = 0 ;
virtual void push(const value_type & x)=0;
virtual void pop()=0 ;
};
class StackArray : public simpleStack{
public:
StackArray();
bool empty() const ;
int size() const;
value_type top() const;
void push(const value_type & x);
void pop() ;
private:
enum{ Capacity = 99 };
int nextpos;
int data[Capacity];
};
------eind code
Als ik dit doe dan wil de klasse stack array specialization parameters. Wat word er bedoeld hiermee? Hoe definieer ik dat bij een subklasse?
Ik heb een aantal vraagjes over templates.
Ik heb veel voorbeelden gezien (in boeken en forums) maar weet niet hoe het precies zit met het overerven van templates in verschillende klasses.
Stel ik defineer de volgende twee classes moet ik dan alleen bij de superklasse (stack) zetten? dus zo
-- begin code
template<class type>class Stack{
public:
typedef int value_type;
virtual bool empty() const = 0;
virtual int size() const = 0;
virtual value_type top() const = 0 ;
virtual void push(const value_type & x)=0;
virtual void pop()=0 ;
};
class StackArray : public simpleStack{
public:
StackArray();
bool empty() const ;
int size() const;
value_type top() const;
void push(const value_type & x);
void pop() ;
private:
enum{ Capacity = 99 };
int nextpos;
int data[Capacity];
};
------eind code
Als ik dit doe dan wil de klasse stack array specialization parameters. Wat word er bedoeld hiermee? Hoe definieer ik dat bij een subklasse?