|
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 14
|
||||||
Основы ООП. Создание стека через класс22.02.2013, 19:24. Показов 4141. Ответов 5
Метки нет (Все метки)
Приветствую всех пользователей форума. Относительно недавно начал осваивать ООП. Было необходимо выполнить следующее задание : нужно описать класс реализующий стек на примере формирования ж/д состава вагоны которого могут быть 2 типов. Конечно же есть некоторый жуткий прототип. Прошу уважаемых пользователей помочь мне в выявлении и пояснении этих ошибок. Среда Билдер. Вот прототип:
0
|
||||||
| 22.02.2013, 19:24 | |
|
Ответы с готовыми решениями:
5
ООП Создание основы класса
Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП |
|
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 14
|
|
| 22.02.2013, 20:52 [ТС] | |
|
Спасибо. К сожалению, еще не затронул данный матерьял в ООП.
0
|
|
|
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 14
|
|
| 28.02.2013, 16:27 [ТС] | |
|
Что то все равно ничерта не пропускает компилятор. Вопрос по поводу кода: если я реализую указатель класса у которого полем является указатель, то синтаксис верен или мне нужно отдельно вносить в скобки и указатель и отдельно поле данного класса (которое является указателем)?
0
|
|
|
...
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
|
|
| 28.02.2013, 19:29 | |
|
Ну, приступим:
Строка 4, 5: нарушение инкапсуляции. Вы открыли сакральную часть класса. Строка 7: зачем вы передаёте первым параметром стек? Сам класс является стеком (вернее объект данного класса), и именно в него должно быть добавление. Кроме этого, вы передаёте указатель d, который изменяете внутри метода, но из вне он не поменяется. И такой метода в определении стека обычно называют push (но это так, для информации). Строка 14: аналогично строке 7, а именно, зачем передаёте стек? Объект класса stack и есть сам стек. И опять, значение указателя d поменяется только локально. (Такой метод обычно называют pop)Строка 20: тут мы уже передаём d по значению. Я логику слабо улавливаю: 1 - зачем его вообще передавать; 2 - почему по значению, а не по указателю? Строка 23: а какое условие выхода из этого цикла? Строка 30: вечный вопрос, зачем передаём стек? Строка 32: 1 - зачем разадресовываем d и присваиваем ему разадресованный next; 2 - а если d уже NULL, а j ещё не 0?; 3 - какой должен быть результат этого поиска? Строка 35: я понимаю, что вы пользуетесь военным борландом, но всё же main должен что-то вернуть. Строка 38: вы объявили стек, но даже не задали ему NULL. Прямая тропинка выстрелить себе в ногу. И это кстати будет если вы выберите команду 2 или 3 своей программы. Строка 52: гениально, вы вспомните про время жизни переменных, правильно, в районе операторных скобок, а что мы видим в строке 54? А мы там видим как такая переменная разадресовывается и её адрес присваивается указателю top. То, что нужно подтянуть:
P.S.: Пожалуйста, только без обид. Вы всё правильно делаете, что стараетесь. Но вы не думали, что может сначала посмотреть, как это реализовывают другие (в книгах, статьях, форумах)?
1
|
|
|
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 14
|
|
| 28.02.2013, 19:36 [ТС] | |
|
Да что ты уважаемый? Я же искренне рад критике, так как кроме пользователей ресурса меня некому поставить на истинный путь. Спасибо тебе огромное за помощь.
0
|
|
| 28.02.2013, 19:36 | |
|
Помогаю со студенческими работами здесь
6
Основы ООП [С++] Основы ООП Основы ООП Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|