Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вылет программы с классом своего стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построение алгоритма генерирования случайного дерева http://www.cyberforum.ru/cpp-beginners/thread1074128.html
Ребят, помогите, пожалуйста, с построением алгоритма генерирования случайного дерева с использованием классов. (( Не могу придумать ничего толкового.
C++ Ребят, сделайте мне пожалууйста программирование! Мне нужно сделать до понедельника, иначе меня не допустят до экзамена вырезано] Помогите, пожалуйста Прежде чем писать на форум, ознакомьтесь с его правилами, а именно: - Одна тема - одно... http://www.cyberforum.ru/cpp-beginners/thread1074117.html
Совместимость программы C++
Создал маленькую программу и передал ее другу. (У друга windows xp) Когда он ее запустил у него вышла ошибка "путь к файлу...\Название.exe не является приложением win32" Что нужно сделать чтобы для...
C++ Необходимо перенести всю информацию, базу данных с самописного сайта на движок Joomla
Необходимо перенести всю информацию, базу данных с самописного сайта на движок Joomla. www.zveri-tut.ru перенести на www.puppy-food.ru 1. Переносится информация, базу данных. 2. Переносится...
C++ Работа с массивом. Поиск элементов и формирование одного массива из другого http://www.cyberforum.ru/cpp-beginners/thread1074094.html
Как из строк двумерного массива, в которых содержатся хотя бы два одинаковых элемента, сформировать столбцы результирующего массива? Массив произвольный, интересует часть кода.
C++ стек из произвольного кол-ва элементов 2.Составьте программу,которая создает стек из произвольного кол-ва элементов.Инф часть динамического элемента должна состоять из двух строк.Организуйте обработку каждого элемента:печать строк из... подробнее

Показать сообщение отдельно
Woloc Graube
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 18

Вылет программы с классом своего стека - C++

17.01.2014, 17:00. Просмотров 419. Ответов 14
Метки (Все метки)

Здравствуйте. Вот начинаю изучать ООП и надо написать стек. Набросал чуток кода, написал push() и printStack(). Тестирую их, ошибок явных нету, но вот программа вылетает. Дебаггер показал, что стек не заполняется. Пробовал получить доступ к 0-элементу: вылетает так же.
Вот код:

C++ (Qt)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#pragma once
namespace wg{
 
    template <typename stackType> 
    class stack
    {
    private:
        stackType* _stack;
        int tos;
        int _size;
    public:
        stack(int = 8);
        ~stack(void);
 
        void push(stackType);
        void printStack(void);
    };
 
}
 
//опис
 
template <typename stackType>
wg::stack <stackType>::stack(int stackSize)
{
    tos = -1;
    _size = stackSize ? stackSize : 8;
    _stack = new stackType(_size);
}
 
template <typename stackType>
wg::stack <stackType>::~stack(void)
{
    delete [] _stack;
}
 
template <typename stackType>
void wg::stack <stackType>::push(stackType _p)
{
    if (tos == _size - 1)
    {
        std::cout << "Stack overflow!" << std::endl;
        return;
    }
    tos++;
    _stack[tos] = _p;
}
 
template <typename stackType>
void wg::stack <stackType>::printStack()
{
    int i = 0;
    while (i < tos)
    {
        std::cout << _stack[i] << std::endl;
        i++;
    }
}
C++ (Qt)
1
2
3
4
5
6
7
8
9
void main()
{
    wg::stack<int> a(10);
    a.push(5);
    a.push(5);
    a.push(6);
    a.printStack();
    std::cin.get();
}
Что может бьіть? За код сильно не ругайте, учусь только :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.