404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
1 | |
Знаю ли я основы ООП?09.07.2012, 23:11. Показов 5752. Ответов 62
Метки нет (Все метки)
ООП я изучал но не применял, ну если не считать собственный класс string и примитивную обертку WinAPI. Так что прошу дайте мне задачи по ООП, чтобы понять на каком уровне находятся мои знания, и на основе этих результатов понять могу ли я читать книгу четырех или еще рано.
0
|
09.07.2012, 23:11 | |
Ответы с готовыми решениями:
62
Основы ООП Основы ООП ООП Создание основы класса Основы ООП, ввод данных |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2012, 18:34 | 21 |
Ksan, Эксепшн и это будет правильно.
aram_gyumri, Напиши вектор/список не просто свою реализацию, а как в STL, заодно стандарт почитаешь и в реализации этих классов в стандартной библиотеке посмотришь.
0
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
10.07.2012, 18:37 | 22 |
ForEveR, что проще - ловить исключения или посмотреть код ошибки? То-то и оно.
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 18:39 [ТС] | 23 |
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2012, 18:39 | 24 |
Ksan, В таком случае кто мешает поставить переменную errno, раз коды ошибки для вас предпочтительнее исключений?)
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 18:40 [ТС] | 25 |
0
|
10.07.2012, 18:41 | 26 |
Да это все не то. Для тренировки в ООП нет ни какого смысла писать задачи типа "напишите класс, который ...". Это кроме практики на С++ больше ни чего не дасть. ООП от этого понятней не станет.
Я тоже когда то переписал кучу подобных задач, где интуитивно понятно как должен выглядеть класс. И уже даже начал думать, что понимаю ОО подход. Потом начал пробывать устраиваться на работу, мне выслали тестовое задание, в котором не было сказано "напишите класс, который...". А было просто условие задачи и пожелание увидеть ООП. Вот тут то я и "сел в лужу", т.к. соверешенно не понимал, как выделить классы, что они должны делать, кто за что отвечает и т.д. В итоге написал жуткий быдлокод (то, что это быдлокод мне уже потом объяснили, я то думал, что это нормальный код) Вот тогда я понял, что я совершенно не понимаю ООП В итоге временно оставил затею устроится программистом, прочитал Т.Бадд "Объектно-ориентированное программирование" и Г.Буч "Объектно-ориентированный анализ и проектирование", и уже после этого устроился программистом Вот то самое задание, которое я провалил
2
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 18:43 [ТС] | 27 |
спасибо, хорошая задача, подумаю
0
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
10.07.2012, 18:46 | 28 |
ForEveR, ну так все это лучше обернуть в класс.
0
|
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
|
10.07.2012, 18:48 | 29 |
ООП - это методика разработки ПО. Всё, что можно написать с помощью ООП, можно написать и без него(и наоборот). Дело не в самих задачах, а в подходе к решению задач.
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 18:55 [ТС] | 30 |
непонемаю зачем тут нужен ООП? он только будет загромаждать код, или я неправ?
0
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
10.07.2012, 18:56 | 31 |
aram_gyumri, не загромождать, а делать понятней. Как для разработчика, так и для того, кто будет его кодом пользоваться
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 18:57 [ТС] | 32 |
я это знаю, просто хотел с помощью задая проверить знаю ли я на достаточном уровне ООП чтобы изучать паттерны
Добавлено через 57 секунд ну незнаю, помоему функцианальный подход для этой задачи лучше
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 19:19 [ТС] | 34 |
Kastaneda, скажи решение, а то у меня все мысли идут в сторону процедурного решения, или в сторону тупых классов
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2012, 19:28 | 35 |
Kastaneda, Я бы пожалуй сделал простенький аналог boost:rogram_options (совсем простенький, конкретно под данную задачу), соответственно за проверку валидности параметров, может-ли параметр встречаться с другим, является-ли он обязательным (хотя это как раз можно) этот класс не отвечает, он отвечает только за использование допустимых параметров, а дальше можно либо сделать класс который решает задачу, либо сделать три функции, которые собственно будут зваться, зваться будут либо тупо через свитч, либо некая мапа строка -> указатель на функцию.
0
|
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
|
|
10.07.2012, 19:30 [ТС] | 36 |
но все ровно это будет лишь удленнять код
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
10.07.2012, 20:09 | 37 | |||||
Собственно, Kastaneda, хотелось бы увидеть решение.
0
|
10.07.2012, 20:59 | 38 |
это твое решение - одноразовое. главный смысл ооп не в том, чтобы классов наплодить, а чтобы повторно использовать что-нибудь было удобно. раздели мух и котлеты, потому что в твоем коде нет ни одной детали, которую можно себе представить примененной в другом месте "as is". только в качестве примера и скопипэйстить что-нибудь.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2012, 21:16 | 39 |
novi4ok, Вообщем-то да, решение одноразовое не спорю, задача здесь абсолютно конкретная, абсолютно конкретно и ее решение, хотелось бы увидеть твой способ решения.
0
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|||||||||||
10.07.2012, 21:37 | 40 | ||||||||||
Вот мое решение
main
CLSCommand
Добавлено через 23 секунды Зы: это все было одним файлом. Я разделил для читабельности
0
|
10.07.2012, 21:37 | |
10.07.2012, 21:37 | |
Помогаю со студенческими работами здесь
40
Ооп. Изучаю основы, обьясните на примере Где могу прочитать про основы ООП? Основы ООП. Создание стека через класс Основы ООП [С++] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |