Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обьясните что такое Классы в С++, Обьясните что такое Классы в С++ 
:(
    Опции темы
Nikola5443e17856
  Дата 9.11.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Здравствуйте, недавно начал изучать С++ и мне язык очень понравилось. Мощьность гибкость и простота програмирования.
Сперва набивал простенькие программы, сейчас двигаюсь дальше. Загвостка в том что я остановился на классах, не пойму как действуют классы и чем их едят smile .
Форумчане пожалуйста обьясните на примерах как работают классы, и где их можно применить.
 smile 
PM MAIL   Вверх
azesmcar
Дата 9.11.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Nikola5443e17856 @  9.11.2009,  22:23 Найти цитируемый пост)
Здравствуйте, недавно начал изучать С++ и мне язык очень понравилось

сперва попробовал один раз, понравилось, потом еще..а потом как-то затянулся и сейчас я занимаюсь этим 24 часа в сутки, доктор что мне делать? ПОМОГИТЕ!!!

Цитата(Nikola5443e17856 @  9.11.2009,  22:23 Найти цитируемый пост)
Форумчане пожалуйста обьясните на примерах как работают классы, и где их можно применить.

У вас какая-то личная неприязнь к технической литературе?
PM   Вверх
Nikola5443e17856
  Дата 9.11.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Я читаю, но мне не понятно суть классов для чего они предназначены и что они делают

Добавлено через 1 минуту и 53 секунды
Самое главное понять смысл класов, а я не понимаю. Понял что такое функция и как его едят, а классы как то не могу понять
PM MAIL   Вверх
azesmcar
Дата 9.11.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Nikola5443e17856 @  9.11.2009,  22:55 Найти цитируемый пост)
Я читаю, но мне не понятно суть классов для чего они предназначены и что они делают

что именно прочитал и что именно непонятно? процитируй отрывок из книги, мне сейчас всю книгу пересказывать?

Цитата(Nikola5443e17856 @  9.11.2009,  22:55 Найти цитируемый пост)
Самое главное понять смысл класов, а я не понимаю. Понял что такое функция и как его едят, а классы как то не могу понять 

смысл в Обьектно-озабоченном ориентированном программировании.

http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%...%BD%D0%B8%D0%B5

Это сообщение отредактировал(а) azesmcar - 9.11.2009, 22:59
PM   Вверх
Данкинг
Дата 9.11.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Nikola5443e17856 @  9.11.2009,  22:55 Найти цитируемый пост)
Самое главное понять смысл класов, а я не понимаю.

Смысл - создать такой объект, который удовлетворяет именно твоим требованиям. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Nikola5443e17856
  Дата 9.11.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Вот я делаю шпаргалки как работают операторы, функции
Здесь представлена шпаргалка по функции. Просто и понятно( если есть ошибки напишите, картинку сам делал)


Присоединённый файл ( Кол-во скачиваний: 50 )
Присоединённый файл  help_C__.JPG 126,87 Kb
PM MAIL   Вверх
azesmcar
Дата 9.11.2009, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Nikola5443e17856 @  9.11.2009,  23:01 Найти цитируемый пост)
Вот я делаю шпаргалки как работают операторы, функции
Здесь представлена шпаргалка по функции. Просто и понятно( если есть ошибки напишите, картинку сам делал)

не совсем понял как это связано с классами.
PM   Вверх
Nikola5443e17856
Дата 9.11.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Я дал просто пример как я понял что такое функция.

PM MAIL   Вверх
bsa
Дата 9.11.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Nikola5443e17856, класс - это возможность создать свой собственный тип данных (в простейшем случае) с переопределением почти всех стандартных операторов. Причем, класс позволяет все сделать так, что пользователь класса (программист, который класс использует для решения своих задач) не будет и подозревать о том, что внутри и как работает (инкапсуляция). Более того, есть возможность создания набора разных классов, к которым применимы схожим образом одни и те же методы (наследование).

Добавлено через 4 минуты и 11 секунд
Nikola5443e17856, #include <iostream.h> - это не "класс объекта". Это подключение заголовочного файла iostream.h, который по современному стандарту устарел. Вместо него нужно подключать <iostream>. Этот заголовочный файл описывает много классов, в частности istream и ostream. А также глобальные объекты cin, cout, cerr, которые соответствуют стандартному вводу, выводу и выводу ошибок.
PM   Вверх
saneea
Дата 9.11.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 13.7.2005

Репутация: нет
Всего: 0



Nikola5443e17856, когда ты пишешь функцию - ты описываешь на языке C++ какое-то действие. Когда ты пишешь класс - ты описываешь объект: несколько (возможно очень много) действий и переменные, которые характеризуют состояние твоего объекта.
PM MAIL   Вверх
Nikola5443e17856
Дата 9.11.2009, 23:19 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Я так понял класс - это группа обектов.Например класс устройства вода/вывода stdio.h.
PM MAIL   Вверх
saneea
Дата 9.11.2009, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 13.7.2005

Репутация: нет
Всего: 0



Цитата

Я так понял класс - это группа обектов.

Не только группа объектов, могу быть ещё и функции.
Например:
Код

class CCoord
{
public:
  int x;
  int y;
  void Set(int NewX, int NewY)
  {
     x=NewX;
     y=NewY;
  };
};


Потом можно объявить переменную такого класса так:
Код

CCoord coord;

PM MAIL   Вверх
Nikola5443e17856
Дата 9.11.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



То есть с помощью класса можно вывести толстый часто используемый код и с помощью вызова его использовать.
PM MAIL   Вверх
azesmcar
Дата 9.11.2009, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Nikola5443e17856

Давай представим что тебе нужно написать программу..ну например эмулятор телевизора (всегда хреново подбирал примеры smile )

Создадим класс - телевизор, который имеет некую функциональность (включить, выключить, переключить канал...). И еще один класс - пульт от телевизова, который работает с обьектом типа телевизор, т.е. посылает ему сигналы - включить, выключить... внутренную реализацию мы от пользователя скрываем, его не интересует как работает функция включения (телевизор ведь закрыт крышкой), это называется ИНКАПСУЛЯЦИЯ.

далее, появляется более продвинутый бренд и наследует нашу идею телевизора, но расширяет возможности. Добавляет туда функцию 'заблокировать порнографиюеские каналы', очень полезная функция. Это называется НАСЛЕДОВАНИЕ. А потом, еще один продвинутый бренд решает что функция блокировки недостаточно хороша и изменяет ее , оставив пользователю тот же самый интерфейс. Это уже называется ПОЛИМОРФИЗМ. Т.е. пользователь работает с тем же самым интерфейсом (кнопкой на телевизоре и на пульте) не подозревая что теперь эта функция стала работать по другому, его это и не интересует. Внешне телевизор не изменился, те же кнопки. Нажимая на ту же кнопку на разных телевизовах мы добиваемся разных результатов. Но мы добились того, что у нас теперь один интерфейс для всех телевизоров. Мы можем работать с обоими моделями одним единственным пультом. Пример слишком абстрактен и может не совсем удачен, но  идею он должен передать (надеюсь).

Это сообщение отредактировал(а) azesmcar - 9.11.2009, 23:44
PM   Вверх
Nikola5443e17856
Дата 9.11.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Немного начал кумекать, повторно литературу почитаю смысл понять надо. А за пример спасибо. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0662 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.