![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
ZZZkoderZZZ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 11.3.2013 |
Мое мнение, что в ООП-программа должна содержать:
- не менее 2 классов (один класс должен наследоваться от другого) - для демонстрации принципа наследования - не менее 1 приватного члена класса - для демонстрации принципа инкапсуляции - не менее 1 виртуального метода и не менее 1 перегрузки этого метода - для демонстрации принципа полиморфизма. - не должно быть функций и переменных, не являющихся членом класса (за исключением ф-и main на С++) Может быть надо продемонстрировать что-то еще? Можно ли вот такую программу считать правильной ООП-программой?
Это сообщение отредактировал(а) ZZZkoderZZZ - 12.3.2013, 12:23 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия |
теоретически можно. практически нельзя - она ничего не делает. А потом, у тебя с оформлением кода проблемы. Рекомендую не быть чукчей-писателем из известного анекдота, а почитать для начала книжки и порешать задачки из них. Список литературы есть в разделе для Новичков (в ответах на часто задаваемые вопросы). Кстати, текущее состояние твоих знаний, полное отсутствие опыта, а так же юношеский максимализм, будут препятствовать твоему поступлению на любую вменяемую работу в области программирования. |
|||
|
||||
ZZZkoderZZZ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 11.3.2013 |
Это опять про const ? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия |
||||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва |
вот вполне ОО программа:
тут есть объект std::cout, тип которого участвует в наследовании и имеет в своем составе подобъекты с виртуальными функциями. ему (в ОО терминологии) отправляются сообщения. в качестве сообщения отправляются объекты. для этого используются перегруженные операции (это не является обязательной частью ООП, но достойно упоминания как разновидность полиморфизма) Добавлено через 5 минут и 12 секунд ZZZkoderZZZ, ОО программа - не самоцель. ООП - инструмент, средство. никому не интересны показатели программы в виде числа классов, объектов, функций, их свойств и т.п. программа должна делать то, что должна, и быть сопровождаемой. парадигмы, библиотеки и прочие инструменты лишь средства достижения указанных целей. |
|||
|
||||
ZZZkoderZZZ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 11.3.2013 |
Как можно лучше оформить короткую программу, которая ничего не делает? Отступы есть, скобочки расставлены по одной схеме, комментировать здесь нечего. Очень хорошо выполнены требования 6, 7 - 6. Большие функции - это зло 7. Не стоит делать функции с более чем 3-мя параметрами |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия |
ZZZkoderZZZ, публичная часть класса должна (рекомендуется) располагаться в начале, а приватная в конце. Фигурные скобки должны расставляться согласно одному правилу, а у тебя 3 метода расстановки, причем один необычный. Двоеточие при определении наследования следовало бы выделить пробелами.
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 |
Ну пусть хоть "Hello, world!" напечатает что ли... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
ZZZkoderZZZ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 11.3.2013 |
Зачем писать лишнее слово? Разработчики С++ зачем-то по-умолчанию всё сделали private, может быть по этой причине? Это сообщение отредактировал(а) ZZZkoderZZZ - 12.3.2013, 16:55 |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения |
По умолчанию ставится наименьшая степень доступности, чтобы помочь разработчикам избежать ошибок. Если разработчик забыл поместить метод в правильную секцию, то компилятор напомнит. А если вдруг не напомнит, значит методу самое место в приватной секции ![]()
Ну я бы сказал это вопрос вкуса, хотя лично тоже предпочитаю распологать вконце. |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия |
смысл положений публичных и приватных областей - в удобстве. Только разработчику класса интересна приватная часть. Пользователям класса (а их значительно больше, чем разработчиков, обычно) интересен именно публичный (или, реже, защищенный) раздел. Поэтому публичный следует располагать в начале, чтобы пользователь не искал его.
|
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону |
||||
|
||||
ZZZkoderZZZ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 11.3.2013 |
В структуре надо дописывать private, а в классе - public. Это сообщение отредактировал(а) ZZZkoderZZZ - 12.3.2013, 19:21 |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону |
||||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |