0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 34
1

Совмещение стека с <vector>

16.10.2013, 18:28. Показов 873. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дан Хедер:
#include <vector>
class iStack {
public:
iStack( int capacity )
: _stack( capacity ), _top( 0 ) {}
bool pop( int &va1ue );
boot push( int value );
bool full();
bool empty();
void display();
int size();

private:
int _top;
vector< int > _stack;
};

Объясните пожалуйста, что значат эти строчки:
iStack( int capacity )
: _stack( capacity ), _top( 0 ) {}
и как можно его написать по проще. Желательно перенеся его в файл cpp.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2013, 18:28
Ответы с готовыми решениями:

Создание стека состояний через vector
Почему компилятор ругается на такое выражение? #include &lt;vector&gt; #pragma once class AI {...

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>)
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало...

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то...

5
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
16.10.2013, 18:34 2
Эти строчки устанавливают емкость вектора внутри стека и инициализируют его нулями. Зачем проще, чем так плохо?
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 34
16.10.2013, 18:42  [ТС] 3
при такой записи она плохо воспринимается и сразу не разобрать.

и как можно избавиться/переделать эту запись так, чтобы указывая размер стека в main.cpp не выдавало ошибки (iStack stack ( 100 ))
0
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
16.10.2013, 19:04 4
В заголовочном файле
C++
1
2
3
4
class iStack {
public:
    iStack(int capacity);
};
В исходнике
C++
1
2
3
4
iStack::iStack( int capacity ):_top( 0 )
{
  _stack.resize(capacity, 0);
}
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 34
16.10.2013, 19:23  [ТС] 5
при объявлении в main.cpp iStack stack ( 30 ) вывело ошибку "invalid null pointer"
0
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
16.10.2013, 19:28 6
Без кода что-либо сказать по этому поводу затруднительно...
1
16.10.2013, 19:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2013, 19:28
Помогаю со студенческими работами здесь

Цикл: Создайте класс Matrix на базе вектора vector<vector<int>>.
Создайте класс Matrix на базе вектора vector&lt;vector&lt;int&gt;&gt;. Определите операторную функцию ostream\&amp;...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)'
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include...

vector<Struct2{int,vector<struct1>}> или множественное наследование ...
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; ...

Как сложить два vector и записать в третий vector ?
Не получается сложить два вектора по элементно и записать в третий . Складываю уже переведенные...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru