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

Реализовать классы для структур данных «стек» и «очередь» - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните программу на С++ http://www.cyberforum.ru/cpp-beginners/thread881915.html
http://www.cyberforum.ru/cpp-beginners/thread209118.html взял отсюда #include <iostream.h> #include <math.h> #include <windows.h> char FileName; char Stroka;
C++ Составить код программы и блок-схему (построить график функции у=2*sin x*e4/5 на заданном интервале) Разработать программу для построения графика функции у=2*sin x*e4/5. Считать из файла х функции. График функции построить в интервале от -50 до 50. ПОМОГИТЕЕ))) http://www.cyberforum.ru/cpp-beginners/thread881908.html
C++ Составить программу, которая по введенному номеру месяца определяет время года
Составить программу, которая по введенному номеру месяца определяет время года, например, ввели 5 – весна .Напишите подробно.очень Вас прошу. Создавайте темы с осмысленными и понятными названиями!
Найти среднее арифметическое отрицательных элементов массива, предшествующих первому положительному элементу; проверить, упорядочены ли элементы по во C++
Помогите, пожалуйста! Сегодня зачет, а у меня ноут полетел!! нужен такой код до трех часов: 1)Найти среднее арифметическое отрицательных элементов массива, предшествующих первому положительному элементу. Если по какой-либо причине вычислить среднее арифметическое не удается, выдать об этом сообщение с указанием причины. 2)Проверить, упорядочены ли элементы по возрастанию.
C++ Удаление столбца из двумерного массива http://www.cyberforum.ru/cpp-beginners/thread881885.html
Не могу решить, помогите: Дан двумерный массив 7x9 удалить столбцы, в которых присутствует хотя бы одно положительное число.
C++ Введены 3 числа. Определить, можно ли с помощью этих чисел построить треугольник? очень нужна ваша помощь.помогите решить,пожалуйста!Введены 3 числа. Определить, можно ли с помощью этих чисел построить треугольник? подробнее

Показать сообщение отдельно
pizurok
76 / 68 / 3
Регистрация: 05.05.2013
Сообщений: 3,296
28.05.2013, 16:33
Ну почему, абстрактный класс может быть вполне. Стек и очередь суть те же списки, только стек извлекает с конца, очередь с начала. Причем метод push() кладет в конец, то есть и там и там работает одинаково, следовательно, является общим. Аналогично, являются общими методы сохранения в массив байт, восстановление из буфера, получение по индексу, очистка и проверка на пустоту, метод вывода списка. Единственным чисто виртуальным методом, который будет реализован в наследниках по-разному будет pop();
Ну стек и очередь есть наследники класса List, в классе List будут указатели на начало и конец списка.
То есть примерно так
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
43
struct node 
{
   int val;
   node *prev;
   node *next;
};
 
class List    //abstract
{ 
    private:
        node *begin;
        node *end;
    public:
        List()
        { .... }  
        void push(int i)
        { .... }  
        void write(char* buf)
        { .... }  
        void read(char* buf)
        { .... }  
        int operator[] (int i)
        { .... }
        void clear()
        { .... }
        bool is_empty()
        { .... }
        virtual int pop() = 0;
};
 
class Stack
{
    public:
        virtual int pop() 
        { .... }
};
 
class Queue
{
    public:
        virtual int pop() 
        { .... }
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru