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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Виктор_Сен
 Аватар для Виктор_Сен
30 / 23 / 1
Регистрация: 01.08.2011
Сообщений: 176
#1

Свойства в СИ++ - C++

04.09.2011, 13:35. Просмотров 1438. Ответов 8
Метки нет (Все метки)

Вот что хотел спросить. Когда я программировал в Делфи, там у объектов были свойства, и когда присваиваешь значение свойству, на самом деле вызывается метод, это сделано для инкапсуляции. А в книжках по си++ я что-то такого не нашёл. Не ужели в си++ нет такой удобной вещи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pincet
 Аватар для pincet
1204 / 774 / 82
Регистрация: 23.07.2010
Сообщений: 3,939
04.09.2011, 13:38     Свойства в СИ++ #2
C++ - язык программирования. Delphi - IDE. Пробуй Borland C++ Builder
Евгений М.
1034 / 975 / 53
Регистрация: 28.02.2010
Сообщений: 2,819
Завершенные тесты: 2
04.09.2011, 13:42     Свойства в СИ++ #3
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Не ужели в си++ нет такой удобной вещи?
В стандарте C++98 такого нет.
Такая вещь присутствует в C++/CLI.
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
04.09.2011, 14:50     Свойства в СИ++ #4
Виктор_Сен, в C++ нет свойств. Их можно реализовать(до некоторой степени) средствами самого языка, но так обычно никто не делает )) В С++ геттеры и сеттеры, в отличии от Delphi(в котором они связываются со свойством), используются напрямую.

Добавлено через 1 минуту
Цитата Сообщение от pincet Посмотреть сообщение
Delphi - IDE
И язык программирования, и IDE.
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
04.09.2011, 16:36     Свойства в СИ++ #5
Цитата Сообщение от rangerx Посмотреть сообщение
И язык программирования, и IDE.
А разве язык программирования там не object pascal?
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
04.09.2011, 17:10     Свойства в СИ++ #6
Цитата Сообщение от diagon Посмотреть сообщение
А разве язык программирования там не object pascal?
http://ru.wikipedia.org/wiki/Delphi_...граммирования)
Сыроежка
Заблокирован
04.09.2011, 18:35     Свойства в СИ++ #7
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Вот что хотел спросить. Когда я программировал в Делфи, там у объектов были свойства, и когда присваиваешь значение свойству, на самом деле вызывается метод, это сделано для инкапсуляции. А в книжках по си++ я что-то такого не нашёл. Не ужели в си++ нет такой удобной вещи?
И в С++, и в Дельфи свойство - это, фактически, метод класса. Просто в Дельфи пошли дальше и смоделировали поведение метода как обращение к переменной, означающей член класса. То есть это просто "синтаксический сахар". Ничего принципиального он не представляет.
TheAthlete
 Аватар для TheAthlete
151 / 151 / 12
Регистрация: 31.08.2010
Сообщений: 529
04.09.2011, 21:44     Свойства в СИ++ #8
действительно, в c++ нет свойств, но есть несколько вариантов их эмуляции:
1) в Qt есть макрос Q_PROPERTY
2) на Хабре пробегали две статейки по этому поводу:
http://habrahabr.ru/blogs/cpp/125880/
http://habrahabr.ru/blogs/cpp/121799/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2011, 21:56     Свойства в СИ++
Еще ссылки по теме:

C++ Директивы и их свойства
C++ Статические свойства классов
C++ Свойства (геттер) - альтернатива Property?
C++ Двусмысленные свойства классов
C++ Одномерные индексаторы и свойства

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

Или воспользуйтесь поиском по форуму:
List2006
24 / 16 / 2
Регистрация: 19.12.2009
Сообщений: 366
04.09.2011, 21:56     Свойства в СИ++ #9
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Вот что хотел спросить. Когда я программировал в Делфи, там у объектов были свойства, и когда присваиваешь значение свойству, на самом деле вызывается метод, это сделано для инкапсуляции. А в книжках по си++ я что-то такого не нашёл. Не ужели в си++ нет такой удобной вещи?
Читай книгу "Как программировать на C++, Дейтл Х.М., Дейтл П.Д."
Там обсуждается момент, в данном случае это признак хорошего стиля, и проектирования в C++ (делать свойства приватными и обертывать публичными set* и get* функциями), но С++ ты делаешь это сам.
Yandex
Объявления
04.09.2011, 21:56     Свойства в СИ++
Ответ Создать тему
Опции темы

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