Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2013, 18:20   #1
studen
Пользователь
 
Регистрация: 21.05.2012
Сообщений: 88
По умолчанию Создание стека с использованием класса.

Доброго времени суток, господа. Пишу на Visual C++ 2008, нужно сделать динамический односвязный список (стек), причем все дело в том, что использовать нужно не struct, а class. Просто покажите, как можно этот класс объявить, остальное я сделаю сам.
studen вне форума Ответить с цитированием
Старый 17.01.2013, 18:47   #2
Tahoma
DI HALT RET
Форумчанин
 
Аватар для Tahoma
 
Регистрация: 30.12.2010
Сообщений: 117
По умолчанию

class NAME {
...
};

В проге:
NAME* nm;
nm = new NAME(PARAMS или просто скобки оставь);
Tahoma вне форума Ответить с цитированием
Старый 17.01.2013, 18:58   #3
denrubun
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 82
По умолчанию

вот такой код завалялся. дальше по вкусу
Код:
class elem{
	float data;
	elem *next;
	elem(float &a):data(a) {};
};

class stack{
	elem *head;
	void add(float &);
};

void stack::add(float &newelem){
	elem *temp = new elem(newelem);
	temp->next = head;
	head = temp;
};
denrubun вне форума Ответить с цитированием
Старый 17.01.2013, 19:07   #4
Tahoma
DI HALT RET
Форумчанин
 
Аватар для Tahoma
 
Регистрация: 30.12.2010
Сообщений: 117
По умолчанию

При name_class* = new new_class выделяется виртуальная память под класс и все его переменные. Главное не забыть потом его удалить.
Tahoma вне форума Ответить с цитированием
Старый 17.01.2013, 19:23   #5
denrubun
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 82
По умолчанию

точно, писал этот код для какой-то другой темы, никогда не использовал
добавить деструктор
Код:
stack::~stack(){
     elem *temp = head;
     while(temp!=NULL){
          head = head->next;
          delete temp;
          temp = head;
     }
}
ну и конструктор
stack::stack() : head(NULL) {};
denrubun вне форума Ответить с цитированием
Старый 21.01.2013, 10:20   #6
dimanduc1
Новичок
Джуниор
 
Регистрация: 21.01.2013
Сообщений: 3
По умолчанию

class stack
{
private:
int top;
int s[1000];

public:
stack(): top(0)
{}

int push(int var);
int pop();
};

int stack:ush(int var)
{
top++;
s[top] = var;
return var;
}

int stack:op()
{
int var = s[top];
top --;
return var;
}

Вот мой вариант. Объявление класса для стека и две функции - первая для добавления в стек, вторая - для выталкивания. Только нет проверки на переполнение стека. Ну сам сообразишь
dimanduc1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7, создание функционального калькулятора с использованием класса ulala Помощь студентам 16 27.03.2013 23:00
Программа с использованием объектов типа стека или очередь на C. rjj Помощь студентам 0 23.02.2012 00:38
СТЕК(((Написать с использованием стека((( Sonne_asja Помощь студентам 16 10.04.2011 14:54
Создание очереди с использованием элементов стека Авторитет Общие вопросы C/C++ 1 11.04.2010 19:33
Исправить нерабочую программу с использованием СТЕКА, С++ Vikylik Помощь студентам 2 22.04.2009 13:00