Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Разработка класса...


Автор: 1122 18.5.2008, 22:33
Здравствуйте. Я программист начинающий и еще не до конца понимаю что есть класс и как с ним работать.
Если не трудно, не могли бы вы, показать пример класса по конкретной задаче.
Например, нужно разработать класс "мячик",  который будет описывать место появления мячика (просто закрашенный кружок на экране), скорость его перемещения, радиус, цвет.... Заранее огромнейшее спасибо.

Автор: archimed7592 18.5.2008, 22:47
Цитата(1122 @  18.5.2008,  22:33 Найти цитируемый пост)
нужно разработать класс "мячик"

Начнём с того, что объекты в программировании(экземпляры классов) не обязательно будут воплощать реальные физические объекты. Скажу больше: чаще классы воплощают нечто абстрактное(некий чёрный ящик) не имеющее аналогов в реальном физическом мире(даже если итоговый результат - некая физическая модель). Скажу ещё больше: если в программе встречаются классы, воплощающие некие реальные физические объекты, то это с большой долей вероятности ошибка проектирования.
Давай на более реальном примере... Скажем... матрица? Ок?

К слову, что такое класс?
Во-первых, это тип. Объекты класса создаются точно также, как переменные других типов(int, double) вот так:
Код

XXX obj; // здесь XXX - имя класса

Эммм... хотел написать "во-вторых", но подумал, что будет ещё и "в-третьих" и "в десятых" и "в сотых"... Думаю, что лучше тебе почитать книгу на главе "классы", после чего можно будет обсудить непонятные моменты.
Скажем так...
  • классы могут иметь членны-данные(поля класса)
  • классы могут иметь методы
  • классы имеют конструкторы и деструктор
  • классы могут выступать в роли операндов обыкновенных операторов(+, -, *, /, =, и т.д.)
  • классы могут иметь статические методы/поля данных
  • классы могут наследоваться
  • классы могут иметь виртуальные ф-ции
  • классы могут иметь полиморфное поведение
  • классы могут много чего ещё smile
Какие из этих пунктов не понятны? Что конкретно из отдельных пунктов непонятно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)