我正在尝试实现类 minStack 来跟踪堆栈的最小元素。以下是我的代码。我尝试使用基类Stack的指针,因为我需要更新原始堆栈,但我不知道如何调用它,因为它是基类的指针而不是基类的成员。
class minStack: public Stack{
private:
Stack* minS;
public:
int min()const{
if(minS->top)
return minS->top->data;
return -1;
}
minStack(){
minS = new Stack();
}
int pop(){
if (Stack::this->pop == min()) { //question here!
minS->pop();
}
}
void push(int item){
if(item <= min()){
minS->push(item);
}
Stack::this->push(); //question here!
}
};