Использование переменных из родительского класса

Я пытался использовать шаблон для реализации стека. И мой вопрос, как я могу использовать переменные из родительского класса в этой ситуации?

В этом случае моя ошибка компиляции: «top, a, size» не был объявлен в этой области.

    template<class T>
class buffer
{
public:
T *a;
int top,i,size;
};

template<class T>
class Queue: public buffer<T>
{
public:
Queue(int siz)
{
a=new T[siz];
size=siz;
top=-1;
}
void push(T ele)
{
if(top!=size-1){a[++top]=ele;}
}

T pop()
{
return(a[top--]);
}

void print()
{
for(i=0;i<top;i++)
cout<<" "<<a[i];

cout<<endl;
}
};

2

Решение

Чтобы сделать их зависимым именем, вы должны использовать this-> или же buffer<T>:: до.

так

this->a = new T[siz];
this->size = siz;
this->top = -1;
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector