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

Вылет программы с классом своего стека - 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. Переносится домен.... перенаправляются старые URL на новые URL 3. Закрывается или удаляется сайт Puppy-food на самописном движке.... и остается только на джумле. Если есть, кто возьмется elenayashina@inbox.ru skype:...
C++ Работа с массивом. Поиск элементов и формирование одного массива из другого http://www.cyberforum.ru/cpp-beginners/thread1074094.html
Как из строк двумерного массива, в которых содержатся хотя бы два одинаковых элемента, сформировать столбцы результирующего массива? Массив произвольный, интересует часть кода.
C++ стек из произвольного кол-ва элементов 2.Составьте программу,которая создает стек из произвольного кол-ва элементов.Инф часть динамического элемента должна состоять из двух строк.Организуйте обработку каждого элемента:печать строк из информационной части и их длин подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
17.01.2014, 17:29     Вылет программы с классом своего стека
Цитата Сообщение от Woloc Graube Посмотреть сообщение
За код сильно не ругайте, учусь только :-)
Пара моментов.

1) Передавайте аргументы по ссылке или указателю. А если они не изменяются
внутри функции или метода - делайте их const. И методы тоже можно (и нужно)
делать const, если они не изменяют поля класса.

Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Было:
 
template <typename stackType>
void wg::stack <stackType>::push(stackType _p)
 
// Стало:
 
template <typename stackType>
void wg::stack <stackType>::push(stackType const & _p)
 
// ...
 
// Было:
 
template <typename stackType>
void wg::stack <stackType>::printStack()
 
// Стало:
 
template <typename stackType>
void wg::stack <stackType>::printStack() const
 
// Не забываем поправить объявления методов :)
2) Инициализацию полей класса лучше по возможности выносить в
списки инициализации:

C++
1
2
3
4
5
6
7
template <typename stackType>
wg::stack <stackType>::stack(int stackSize) :
    tos(-1),
    _size(stackSize ? stackSize : 8),
    _stack(new stackType(_size))
{
}
Учтите, что поля инициализируются в том порядке, в котором они объявлены в классе.
В Вашем примере _stack в объявлении класса нужно сместить вниз, под tos и _size.

3) Если класс копируемый, его нужно обеспечить конструктором копирования и
оператором присваивания. Если нет - эти члены следует объявить закрытыми, не
предоставив реализации (в C++11 есть для этих целей delete, но это другая тема).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru