problem mit stack und basisklasse
-
@nexus ich habe es nun so gelöst, dass ich in der Containerklasse:
template<class T> class MyContainer { template<class T>friend bool operator==(const MyContainer& leftContainer,const MyContainer& rightContainer); . . . };und dann in der stack klasse noch mal:
template<class T> bool operator==(const MyStack<T>& left,const MyStack<T>& right) { return (static_cast<MyContainer<T>>(left) == static_cast<MyContainer<T>>(left)); } template<class T> bool operator!=(const MyStack<T>& left,const MyStack<T>& right) { return !(left == right); }diese funktionen sind aber nicht freunde der klasse, brauchen sie auch nicht. funktionieren tut es schon mal^^
-
Ableitung macht hier wenig Sinn. Was du willst ist Komposition.
Damit loesen sich uebrigens auch alle Namensprobleme in Luft auf.Stack und Deque sind zwar Container, aber bei Vererbung das Liskov Substitution Principle beachten.
-
Shade Of Mine schrieb:
Ableitung macht hier wenig Sinn. Was du willst ist Komposition.
Damit loesen sich uebrigens auch alle Namensprobleme in Luft auf.Stack und Deque sind zwar Container, aber bei Vererbung das Liskov Substitution Principle beachten.
io ich werde mir das morgen mal anschauen, für heute habe ich genug^^