スタックの最小要素を追跡するために、クラス 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!
}
};