Форум программистов, компьютерный форум CyberForum.ru

Класс стека - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
14.09.2012, 21:49     Класс стека #1
Здравствуйте!помогите создать класс стека, чтобы входные данные были из списка....как я понимаю, это должно быть в конструкторе или нет? и правильно ли я пытаюсь реализовать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
 
const int maxlen =100;
 
class stack
{
    int s[maxlen];
    int top;
    void pop(int top, int x);
    void push(int top);
    bool empty(int top);
    stack();
    stack(int top);
}
stack::stack()
{
    top=0;
}
stack::stack(int top)
 
 void stack::pop(int top,int x){
     if (top=maxlen) cout<<"Cтек полон"<<endl;
     s[top]=x;
    top++;
 }
 void stack::push(int top)
 { if (top==0) cout<<"Стек пуст"<<endl;
   top--;
 }
 bool stack::empty (int top)
 {
     if (top==0) return 1;
     else return 0;
 }
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 21:49     Класс стека
Посмотрите здесь:

C++ Класс стека
C++ Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
C++ Создать стек для символов. Максимальный размер стека вводится с экрана. Создать функции для ввода и вывода элементов стека. Ввести эталонный символ.
C++ Основы ООП. Создание стека через класс
Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.09.2012, 02:29     Класс стека #21
этот класс не спроектирован так, чтобы быть базой для чего-то еще. по крайней мере стандартные контейнеры такие и этот скорее всего такой-же. допустим что все-таки такое возможно. тогда почему вы считаете, что
C++
1
2
3
for ( std::list< int >::const_iterator it = elst.begin(); it != elst.end(); ++it ) {
        s[ top++ ] = *it;
    }
- это корректное заполнение? Если в производном классе будет какой-то особый пуш, то базовый класс никак не сможет корректно заполнить стек, ведь он не знает ничего о наследниках.


Вообще для построения стека я бы посоветовал почитать Саттера:
http://www.rsdn.ru/res/book/cpp/Satter.xml
начало 2 главы как раз посвящено как правильно написать кошерный класс для стека. все разжевано до мелочей. если кому-то все же лень - то где-то там присутствует весь код в сборе.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2012, 13:09     Класс стека
Еще ссылки по теме:

Создать класс для работы со стеком. Элемент стека – действительное число C++
Удалить элемент из стека по условию и добавить элемент в начало стека C++
Класс итератор для стека C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
15.09.2012, 13:09     Класс стека #22
Если в производном классе будет какой-то особый пуш, то базовый класс никак не сможет корректно заполнить стек, ведь он не знает ничего о наследниках.
Конструктор в принципе ничего не знает о наследниках.

Добавлено через 9 часов 59 минут
Впрочем, Вы правы, не стоит повторять себя.
Yandex
Объявления
15.09.2012, 13:09     Класс стека
Ответ Создать тему
Опции темы

Текущее время: 04:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru