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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.93
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
#1

Знаю ли я основы ООП? - C++

09.07.2012, 23:11. Просмотров 3812. Ответов 62
Метки нет (Все метки)

ООП я изучал но не применял, ну если не считать собственный класс string и примитивную обертку WinAPI. Так что прошу дайте мне задачи по ООП, чтобы понять на каком уровне находятся мои знания, и на основе этих результатов понять могу ли я читать книгу четырех или еще рано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2012, 23:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Знаю ли я основы ООП? (C++):

Основы ООП - C++
Здраствуйте! Уже второй день пытаюсь разобраться и хорошего ответа так и не нашел. На форуме подобные вопросы видел, и википидею читал, но...

Основы ООП, ввод данных - C++
Собственно, осваивая основы ООП и выполняя заодно частичное задание с универа(1 курс :scratch:) Наткнулся на проблему ввода данных в...

ООП Создание основы класса - C++
Здравствуйте, получил задание, но немного недопонимаю как это сделать, с чего начать. Помогите пожалст или объясните образно как сделать, а...

Ооп. Изучаю основы, обьясните на примере - C++
Класс: форум - сайт для общения. Объект форум - собственно любой форум. Тут все понятно. Форумный движок тоже класс, соответственно...

Основы ООП. Создание стека через класс - C++
Приветствую всех пользователей форума. Относительно недавно начал осваивать ООП. Было необходимо выполнить следующее задание : нужно...

Где могу прочитать про основы ООП? - C++
Где могу прочитать про основы ООП?

62
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 17:51  [ТС] #16
Цитата Сообщение от Ksan Посмотреть сообщение
aram_gyumri, попробуй написать интерпретатор простенький. Вводишь, например "sin(25)*180/0.125" и он считает
у меня есть простенкий интерпретатор выражений просто там функций нету, надо будет добавить
а вообще какое это иммет отношение к ООП?
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 17:54 #17
aram_gyumri, возможно потому, что надо написать его с помощью ООП?
class Calculate, скажем
передаешь туда char*, он возвращает значение
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 18:10  [ТС] #18
Цитата Сообщение от Ksan Посмотреть сообщение
class Calculate, скажем
передаешь туда char*, он возвращает значение
смысл? не удобнее ли одной функцией, скажем такой?

C
1
double calculate(char *expr);
0
Jupiter
10.07.2012, 18:18
  #19

Не по теме:

Цитата Сообщение от aram_gyumri Посмотреть сообщение
у меня есть простенкий интерпретатор выражений просто там функций нету, надо будет добавить
а вообще какое это иммет отношение к ООП?
прямое:
"Examples of designs that meet most of the criteria for "goodness" (easy to understand, flexible, efficient) are a recursive-descent parser"
Bjarne Stroustrup

0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 18:26 #20
aram_gyumri, а если я введу туда 5/0, что вернется?
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
10.07.2012, 18:34 #21
Ksan, Эксепшн и это будет правильно.
aram_gyumri, Напиши вектор/список не просто свою реализацию, а как в STL, заодно стандарт почитаешь и в реализации этих классов в стандартной библиотеке посмотришь.
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 18:37 #22
ForEveR, что проще - ловить исключения или посмотреть код ошибки? То-то и оно.
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 18:39  [ТС] #23
Цитата Сообщение от Ksan Посмотреть сообщение
aram_gyumri, а если я введу туда 5/0, что вернется?
в моем интерпретаторе будет выведено division by zero
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
10.07.2012, 18:39 #24
Ksan, В таком случае кто мешает поставить переменную errno, раз коды ошибки для вас предпочтительнее исключений?)
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 18:40  [ТС] #25
Цитата Сообщение от ForEveR Посмотреть сообщение
aram_gyumri, Напиши вектор/список не просто свою реализацию, а как в STL, заодно стандарт почитаешь и в реализации этих классов в стандартной библиотеке посмотришь.
спосибо попробую
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,273
Записей в блоге: 2
Завершенные тесты: 1
10.07.2012, 18:41 #26
Цитата Сообщение от aram_gyumri Посмотреть сообщение
значит начну решать эту задачу
Цитата Сообщение от aram_gyumri Посмотреть сообщение
абстрактный класс Транспорт, а от него мотоцикл, автомобиль, паровоз, дризина...
Цитата Сообщение от Ksan Посмотреть сообщение
Напиши свою альтернативу вектору.
Цитата Сообщение от Ksan Посмотреть сообщение
aram_gyumri, односвязный список? Двусвязный?
Да это все не то. Для тренировки в ООП нет ни какого смысла писать задачи типа "напишите класс, который ...". Это кроме практики на С++ больше ни чего не дасть. ООП от этого понятней не станет.

Я тоже когда то переписал кучу подобных задач, где интуитивно понятно как должен выглядеть класс. И уже даже начал думать, что понимаю ОО подход. Потом начал пробывать устраиваться на работу, мне выслали тестовое задание, в котором не было сказано "напишите класс, который...". А было просто условие задачи и пожелание увидеть ООП. Вот тут то я и "сел в лужу", т.к. соверешенно не понимал, как выделить классы, что они должны делать, кто за что отвечает и т.д. В итоге написал жуткий быдлокод (то, что это быдлокод мне уже потом объяснили, я то думал, что это нормальный код) Вот тогда я понял, что я совершенно не понимаю ООП
В итоге временно оставил затею устроится программистом, прочитал Т.Бадд "Объектно-ориентированное программирование" и Г.Буч "Объектно-ориентированный анализ и проектирование", и уже после этого устроился программистом

Вот то самое задание, которое я провалил
Напишите (консольную) программу, принимающую на вход имя файла и набор параметров. В
зависимости от параметров программа должна работать в трёх режимах:
1) test -f Test.tst -m words -v mother
печатает количество слов «mother» в файле «Test.tst»
2) test -f Test.tst -m checksum
печатает 32-хбитную чексумму, рассчитанную по алгоритму checksum = word1 + word2 + …
+ wordN (word1..wordN – 32-хбитные слова, представляющие содержимое файла)
3) test -h
печатает информацию о программе и описание параметров.
Потом могу показать, как оно красиво (с точки зрения ООП) решается
2
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 18:43  [ТС] #27
спасибо, хорошая задача, подумаю
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
10.07.2012, 18:46 #28
ForEveR, ну так все это лучше обернуть в класс.


Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Вот то самое задание, которое я провалил
Интересно было бы попробовать решить. У вас есть высшее?

0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
10.07.2012, 18:48 #29
Цитата Сообщение от aram_gyumri Посмотреть сообщение
Так что прошу дайте мне задачи по ООП
ООП - это методика разработки ПО. Всё, что можно написать с помощью ООП, можно написать и без него(и наоборот). Дело не в самих задачах, а в подходе к решению задач.
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.07.2012, 18:55  [ТС] #30
непонемаю зачем тут нужен ООП? он только будет загромаждать код, или я неправ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2012, 18:55
Привет! Вот еще темы с ответами:

Основы ООП [С++] - C++
Немного знаю Java, написал программу которая по заданным 2-м сторонам и углом между нимию Попробовал перевести на С++ #include <math.h> ...

Классы основы - C++
class a1 // это определение класса { -||-||-; }; a1 b; // как я понимаю это объявление скажите пожалуйста где здесь...

Основы ветвления - C++
Встретился на сайте с такой подачей ветвления: if ( !qwe ) Что значит восклицательный знак, неравенство?

Основы массивов - C++
Изучаю массивы, в книге Объектно-ориентированное программирование в C++ Р. Лафоре. #include <iostream> using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
10.07.2012, 18:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru