![]() |
|
Модераторы: bsa |
![]()
|
|
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Здравствуйте, недавно начал изучать С++ и мне язык очень понравилось. Мощьность гибкость и простота програмирования.
Сперва набивал простенькие программы, сейчас двигаюсь дальше. Загвостка в том что я остановился на классах, не пойму как действуют классы и чем их едят Форумчане пожалуйста обьясните на примерах как работают классы, и где их можно применить. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
сперва попробовал один раз, понравилось, потом еще..а потом как-то затянулся и сейчас я занимаюсь этим 24 часа в сутки, доктор что мне делать? ПОМОГИТЕ!!!
У вас какая-то личная неприязнь к технической литературе? |
||||
|
|||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Я читаю, но мне не понятно суть классов для чего они предназначены и что они делают
Добавлено через 1 минуту и 53 секунды Самое главное понять смысл класов, а я не понимаю. Понял что такое функция и как его едят, а классы как то не могу понять |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
что именно прочитал и что именно непонятно? процитируй отрывок из книги, мне сейчас всю книгу пересказывать?
смысл в Обьектно-озабоченном ориентированном программировании. http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%...%BD%D0%B8%D0%B5 Это сообщение отредактировал(а) azesmcar - 9.11.2009, 22:59 |
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Смысл - создать такой объект, который удовлетворяет именно твоим требованиям. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Вот я делаю шпаргалки как работают операторы, функции
Здесь представлена шпаргалка по функции. Просто и понятно( если есть ошибки напишите, картинку сам делал) Присоединённый файл ( Кол-во скачиваний: 50 )
help_C__.JPG 126,87 Kb |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Я дал просто пример как я понял что такое функция.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Nikola5443e17856, класс - это возможность создать свой собственный тип данных (в простейшем случае) с переопределением почти всех стандартных операторов. Причем, класс позволяет все сделать так, что пользователь класса (программист, который класс использует для решения своих задач) не будет и подозревать о том, что внутри и как работает (инкапсуляция). Более того, есть возможность создания набора разных классов, к которым применимы схожим образом одни и те же методы (наследование).
Добавлено через 4 минуты и 11 секунд Nikola5443e17856, #include <iostream.h> - это не "класс объекта". Это подключение заголовочного файла iostream.h, который по современному стандарту устарел. Вместо него нужно подключать <iostream>. Этот заголовочный файл описывает много классов, в частности istream и ostream. А также глобальные объекты cin, cout, cerr, которые соответствуют стандартному вводу, выводу и выводу ошибок. |
|||
|
||||
| saneea |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 13.7.2005 Репутация: нет Всего: 0 |
Nikola5443e17856, когда ты пишешь функцию - ты описываешь на языке C++ какое-то действие. Когда ты пишешь класс - ты описываешь объект: несколько (возможно очень много) действий и переменные, которые характеризуют состояние твоего объекта.
|
|||
|
||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Я так понял класс - это группа обектов.Например класс устройства вода/вывода stdio.h.
|
|||
|
||||
| saneea |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 13.7.2005 Репутация: нет Всего: 0 |
Не только группа объектов, могу быть ещё и функции. Например:
Потом можно объявить переменную такого класса так:
|
||||||
|
|||||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
То есть с помощью класса можно вывести толстый часто используемый код и с помощью вызова его использовать.
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Nikola5443e17856
Давай представим что тебе нужно написать программу..ну например эмулятор телевизора (всегда хреново подбирал примеры Создадим класс - телевизор, который имеет некую функциональность (включить, выключить, переключить канал...). И еще один класс - пульт от телевизова, который работает с обьектом типа телевизор, т.е. посылает ему сигналы - включить, выключить... внутренную реализацию мы от пользователя скрываем, его не интересует как работает функция включения (телевизор ведь закрыт крышкой), это называется ИНКАПСУЛЯЦИЯ. далее, появляется более продвинутый бренд и наследует нашу идею телевизора, но расширяет возможности. Добавляет туда функцию 'заблокировать порнографиюеские каналы', очень полезная функция. Это называется НАСЛЕДОВАНИЕ. А потом, еще один продвинутый бренд решает что функция блокировки недостаточно хороша и изменяет ее , оставив пользователю тот же самый интерфейс. Это уже называется ПОЛИМОРФИЗМ. Т.е. пользователь работает с тем же самым интерфейсом (кнопкой на телевизоре и на пульте) не подозревая что теперь эта функция стала работать по другому, его это и не интересует. Внешне телевизор не изменился, те же кнопки. Нажимая на ту же кнопку на разных телевизовах мы добиваемся разных результатов. Но мы добились того, что у нас теперь один интерфейс для всех телевизоров. Мы можем работать с обоими моделями одним единственным пультом. Пример слишком абстрактен и может не совсем удачен, но идею он должен передать (надеюсь). Это сообщение отредактировал(а) azesmcar - 9.11.2009, 23:44 |
|||
|
||||
| Nikola5443e17856 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.10.2009 Репутация: нет Всего: нет |
Немного начал кумекать, повторно литературу почитаю смысл понять надо. А за пример спасибо.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |