Урок 11 подолжение изучения классов С++, не работает финальная стадия кода.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Доброго времени суток, прошу о помощи.
Только начал осваивать С++, посему прошу простить наивные предположения и ошибки.
В работе используется Dev-C++ 5.4.2
Во время самообучения по урокам «упёрся лбом в стенку», выглядит она так:
И так со всеми переменными. Они просто не обнаружены, в чём может быть проблема?
Если вывод не верный, то поправьте , пожалуйста.
Код
У тебя в проект (в Dev-C++) включён файл students.cpp? Или ты компилируешь только main.cpp?
Cranium
Да, включен.
У меня тоже создалось впечатление, будто один из «студентов» не подключен и\или не активируется.
М-да... я что-то поспешил. У тебя в коде полно ошибок. И компилятор тебе о них сообщил. А ты — нет.
Кроме того, нет определений методов
Students::set_average_ball(float)
,Students::get_last_name()
иStudents::set_last_name(std::string)
. Объявления в классе есть, а реализации нет.А с точки зрения ООП, за такой код надо руки отрезать.
Cranium
За руки «отрезать», спасибо, конечно — они мне ещё нужны =) ( простите за демагогию ).
Ошибки:
1. Все файлы не были собраны в проект: из-за этого они не видели друг-друга.
2. Фрагменты кода были упущены и при внимательном рассмотрении дописаны и добавлены.
3. Нет вывода текстового файла.
Решения:
1. ВСЕГДА создавать всё в проекте и кодить.
2. Протирать почаще глаза и не торопиться.
3. В процессе решения.
Спасибо.
Это я не к тому, что бы просто йадом плюнуть, а к тому, что бы ты почитал что-нибудь про идеологию ООП. Хотя бы в Википедии. В данном конкретном примере абстракция и инкапсуляция просто тихо в ауте.
Cranium
Ещё раз обращу внимание : я — начинающий и с кодом познакомился буквально в прошлую пятницу.
Теория — окей.
Три основных и главных постулата : инкапсуляция, наследование и полиморфизм для С++, которые выделяет большинство сторонних источников именно для этого кода.
Код — код переписан с урока № 11.
Я в нём ничего не менял.
R.ion, если ты с прошлой пятницы дошёл до изучения классов и ООП, то это уже очень здорово. Я просто хотел намекнуть, что инструмент классов в С++, с точки зрения ООП, должен применяться по-другому. И что код в 11-ом уроке, опять-таки с точки зрения ООП, мягко говоря, не идеален. В статье рассмотрен только синтаксис. В уроках на этом ресурсе нет статей по проектированию программ в духе ООП. Поэтому нужно будет искать информацию в других источниках.
Неправильно переписан. Будьте внимательнее.
Cranium
Понял, спасибо.
selevit
Да, там были проблемы, они исправлены и код работает полноценно, как и описано в уроке.
Благодарю.
Тут ты полностью прав.
Если хочешь, можешь переделать урок, а я обновлю его на сайте :)
У-у-у... Так там ещё и 10-й урок переписывать придётся. А потом дописывать 12-й, а, возможно, и 15-й.
Что за деструктивный максимализм в тебе играет?)
Скорее это стоны тщательно задавливаемого перфекционизма ))