#include <cstring>
#include <iostream>
using namespace std;
template<class T> class node
{
public:
T* data;
node<T>* tail;
node() {
tail = NULL;
}
};
template<class T> class stack
{
private:
node<T>* header;
public:
stack()
{
header = NULL;
}
void push(T& obj)
{
node<T>* n = new node<T>();
n->tail = header;
n->data = &obj;
header = n;
}
T pop()
{
if (!empty())
{
return -1;
}
int temp = header-> tail;
node <T>* = header;
header = header->data;
return temp;
}
bool empty()
{
return header == NULL;
}
};
class student
{
public:
char name[64];
char code[32];
int bithday;
student()
{ }
student(char* n, char* c, int b)
{
strcpy(name, n);
strcpy(code, c);
bithday = b;
}
};
int main()
{
student s1("Ivan", "0001", 2001);
student s2("Pert", "0002", 2002);
student s3("Gleb", "0003", 2000);
stack<student> s;
s.push(s1);
s.push(s2);
s.push(s3);
while (!s.empty())
{
student tmp = s.pop();
cout << tmp.name << endl;
}
return 0;
}
не могу понять как реализовать удаление элементов в контейнере класса
int pop()
{
if (!empty())
{
node <T>* p = header;
header = header->tail;
delete p;
return 1;
}
return 0;
}
хотябы так, если хотите возвращать int
а не bool
, хотя возвращать ничего не нужно, вприципе это значение не будет использоваться, или будете использовать вместо empty()
, тогда функция empty()
не нужна
P.S. Но вы еще и имена неправильно используете, Хвост у вас предыдущий, а голова является хвостом...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне необходимо получить серийные номера различных устройств хранения данныхНа данный момент написан код, корректно работающий с HDD, однако...
Скачал студию 32 канари вот хочу попробовать поработать с новой навигацией
К примеру мне нужно проверить, существует ли какие-либо данные в map, если существуют, то вернуть иначе загрузить из базы данных
Возникает ошибка при создании: (9:9)illegal start of expression