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

Помогите реализовать стек на основе массива - C++

Восстановить пароль Регистрация
 
Алекс090394
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 35
08.02.2013, 10:43     Помогите реализовать стек на основе массива #1
помогите с задачачей по с++
3. Реализуйте стек на основе массива.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
08.02.2013, 11:12     Помогите реализовать стек на основе массива #2
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
#include <iostream>
 
class Stack
{
public:
    Stack( int n ) : max_n( n ), s( new int [ max_n ] ), top( 0 ) {}
    ~Stack() { delete [] s; }
 
    bool isEmpty() const { return top == 0; }
    void push( int x ) { s[ top++ ] = x; }
    int pop() { return s[ --top ]; }
private:
    int max_n;
    int *s;
    int top;
};
 
int main()
{
    Stack s( 10 );
 
    s.push( 1 );
    s.push( 2 );
    std::cout << s.pop() << " ";
    s.push( 3 );
    std::cout << s.pop() << " ";
    std::cout << s.pop() << std::endl;
 
    return 0;
}
допиши проверки на выход за пределы массива сам
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
08.02.2013, 12:41     Помогите реализовать стек на основе массива #3
Цитата Сообщение от ya_noob Посмотреть сообщение
допиши проверки на выход за пределы массива сам
А так же конструктор копии, оператор "=", метод top (или head), метод size.
Опционально перед конструктором допиши explicit, чтобы нельзя было писать глупости Stack s = 1;
Опционально же перед деструктором -- virtual, вдруг кто отнаследуется.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
08.02.2013, 13:41     Помогите реализовать стек на основе массива #4
Цитата Сообщение от lemegeton Посмотреть сообщение
Опционально перед конструктором допиши explicit, чтобы нельзя было писать глупости Stack s = 1;
Более вероятно так, чтобы не было
C++
1
2
3
void fun(Stack);
 
fun(1);
Yandex
Объявления
08.02.2013, 13:41     Помогите реализовать стек на основе массива
Ответ Создать тему
Опции темы

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