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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
04.09.2011, 13:35     Свойства в СИ++ #1
Вот что хотел спросить. Когда я программировал в Делфи, там у объектов были свойства, и когда присваиваешь значение свойству, на самом деле вызывается метод, это сделано для инкапсуляции. А в книжках по си++ я что-то такого не нашёл. Не ужели в си++ нет такой удобной вещи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2011, 13:35     Свойства в СИ++
Посмотрите здесь:

C++ Свойства Button
Поля , методы и свойства. C++
приватные свойства C++
Задать свойства в классе C++
C++ Свойства наследования
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pincet
 Аватар для pincet
1096 / 757 / 79
Регистрация: 23.07.2010
Сообщений: 3,795
04.09.2011, 13:38     Свойства в СИ++ #2
C++ - язык программирования. Delphi - IDE. Пробуй Borland C++ Builder
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
04.09.2011, 13:42     Свойства в СИ++ #3
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Не ужели в си++ нет такой удобной вещи?
В стандарте C++98 такого нет.
Такая вещь присутствует в C++/CLI.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
04.09.2011, 14:50     Свойства в СИ++ #4
Виктор_Сен, в C++ нет свойств. Их можно реализовать(до некоторой степени) средствами самого языка, но так обычно никто не делает )) В С++ геттеры и сеттеры, в отличии от Delphi(в котором они связываются со свойством), используются напрямую.

Добавлено через 1 минуту
Цитата Сообщение от pincet Посмотреть сообщение
Delphi - IDE
И язык программирования, и IDE.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
04.09.2011, 16:36     Свойства в СИ++ #5
Цитата Сообщение от rangerx Посмотреть сообщение
И язык программирования, и IDE.
А разве язык программирования там не object pascal?
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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++ Статические свойства классов

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

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

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