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

Классы. Get/Set у property - C++

Восстановить пароль Регистрация
 
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 08:08     Классы. Get/Set у property #1
подскажите что почитать по классам чтоб понятно было? в частности никак не врублюсь в эти Get/Set которые есть у property, что они собой представляют?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.05.2014, 08:29     Классы. Get/Set у property #2
Цитата Сообщение от GetHelp Посмотреть сообщение
которые есть у property
Точно в тот раздел написали?
Цитата Сообщение от GetHelp Посмотреть сообщение
что почитать по классам чтоб понятно было?
учебник. Не понятно в одном, возьмите другой. Мы то откуда знаем как Вам будет понятно.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
27.05.2014, 08:49     Классы. Get/Set у property #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Точно в тот раздел написали?
Кх*кашляет*рностудия?

Цитата Сообщение от GetHelp Посмотреть сообщение
Get/Set которые есть у property
Те же самые методы класса, только автовызывающиеся разные при чтении и при записи одного и того же свойства.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 16:55  [ТС]     Классы. Get/Set у property #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Точно в тот раздел написали?
а почему бы и нет?
Цитата Сообщение от Croessmah Посмотреть сообщение
учебник. Не понятно в одном, возьмите другой. Мы то откуда знаем как Вам будет понятно.
зачем же так? по моему я выразился достаточно ясно, учебники бывают разные, какие то бывают общепринято считаются наиболее понятными... посоветовать хоть что то не судьба? а может не учебники, а скажем какие то уроки (в интернете), например я знаю по OpenGL хорошие уроки NeHe, может и по классам есть что то похожее...

Добавлено через 7 часов 45 минут
блин ну что никто не знает никакой литературы по си++ чтоли? не верю ! щас почитал Страуструпа, но у него про property ничего не нашел
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.05.2014, 16:56     Классы. Get/Set у property #5
Цитата Сообщение от GetHelp Посмотреть сообщение
но у него про property ничего не нашел
потому что в c++ нет такого(в Qt правда есть подобное), поэтому и спросил про раздел
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 17:14  [ТС]     Классы. Get/Set у property #6
Croessmah, а что такое Qt? не знаю насчет есть\нет но у меня это слово даже синтаксисом студии подсвечивается, а проект то сишный... так или иначе где про это почитать?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.05.2014, 17:15     Классы. Get/Set у property #7
Цитата Сообщение от GetHelp Посмотреть сообщение
это слово даже синтаксисом студии подсвечивается
может это потому, что пишите не на c++, а, например, на c++/cli?
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
27.05.2014, 17:18     Классы. Get/Set у property #8
GetHelp, совет Croessmah:
Цитата Сообщение от Croessmah Посмотреть сообщение
Не понятно в одном, возьмите другой.
более чем оправдан. Трудно сказать, что именно Вам будет легче читать, а выбор литературы ограничен только временем. Если Вам читается Герберт Шилдт из книг вроде вводного курса то, можно попробовать:
Т.А. Павловская С/С++ Программирование на языке высокого уровня.
Т.А. Павловская С# Программирование на языке высокого уровня. (учитывая property))
В С++ свойства и поля это синонимы. Методы которые в C# вызываются по имени и обеспечивают доступ, в С++ называют методами доступа или геттерами/сеттерами в просторечии и вызываются как обычно. Хотя назначение у них общее. Понятно это становится, только когда становятся понятны ключевые слова private, public, protected, то есть, когда становится ясно, а зачем вообще нужно ограничивать доступ (реализовывать возможности инкапсуляции). Иначе нужно пересказывать примеры из книжек.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 17:20  [ТС]     Классы. Get/Set у property #9
Цитата Сообщение от Croessmah Посмотреть сообщение
может это потому, что пишите не на c++, а, например, на c++/cli?
без понятия... VS Professional 2010 Файл\Создать\Проект\C++\Консольное приложение Win32

з.ы. правда я там еще Visual Assist поставил, потому что подсказок никаких не было, а без них не удобно
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
27.05.2014, 17:22     Классы. Get/Set у property #10
http://msdn.microsoft.com/ru-ru/library/yhfk0thd.aspx
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.05.2014, 17:23     Классы. Get/Set у property #11
Цитата Сообщение от GetHelp Посмотреть сообщение
без понятия...
Цитата Сообщение от GetHelp Посмотреть сообщение
даже синтаксисом студии подсвечивается
ясно, очередная мелкосовтовская приблуда: MSDN: property (C++)
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 17:26  [ТС]     Классы. Get/Set у property #12
Цитата Сообщение от Starscream Посмотреть сообщение
http://msdn.microsoft.com/ru-ru/library/yhfk0thd.aspx
там только со структурами, а как с классами применять? да и не понятно все равно про гет\сет
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.05.2014, 17:30     Классы. Get/Set у property #13
Цитата Сообщение от GetHelp Посмотреть сообщение
там только со структурами, а как с классами применять?
отличие struct от class в c++ состоит лишь в модификаторах доступа по умолчанию
stima
429 / 284 / 16
Регистрация: 22.03.2011
Сообщений: 923
Завершенные тесты: 1
27.05.2014, 17:44     Классы. Get/Set у property #14
Цитата Сообщение от Croessmah Посмотреть сообщение
отличие struct от class в c++ состоит лишь в модификаторах доступа по умолчанию
а также модификатором наследования. а также приобразованием в pod тип.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.05.2014, 18:05  [ТС]     Классы. Get/Set у property #15
Цитата Сообщение от Croessmah Посмотреть сообщение
отличие struct от class в c++ состоит лишь в модификаторах доступа по умолчанию
боюсь мой уровень знания языка слишком низкий чтобы это понять >_< переведите на ламерский пожалуйста

Добавлено через 31 секунду
Цитата Сообщение от stima Посмотреть сообщение
а также модификатором наследования. а также приобразованием в pod тип.
еще хлеще =)
stima
429 / 284 / 16
Регистрация: 22.03.2011
Сообщений: 923
Завершенные тесты: 1
27.05.2014, 18:19     Классы. Get/Set у property #16
class и struct обьявление пользовательских типов.
У class модификатор доступа private, у struct public. Модификатор доступа реализует принцип ООП - инкапсуляция.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class A
{
      void foo();
};
 
struct B
{
     void bar();
}
 
 
main()
{
    A a;
    B b;
 
     a.foo(); //нульзя переменная закрыта private
     b.bar(); //можно - public
 
}
 
 
class Base
{
 
public:
       void foo();      
};
 
 
class DerivedPrivate : Base
{
 
};
 
class DerivedPublic : public Base
{
};
 
 
main()
{
      Base base;
      base.foo(); //можно
 
 
     DerivedPrivate priv;
      priv.foo(); //нельзя
 
 
    DerivedPublic pub;
    pub.foo(); //можно
}
POD - plain old data. Грубо говоря совместимость с C.

учите основы языка. и желательно поначалу хотябы чистого языка, а не его расширений типа cli.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2014, 20:57     Классы. Get/Set у property
Еще ссылки по теме:

C++ Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
C++ Property в плюсах
C++ Свойства (геттер) - альтернатива Property?

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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
27.05.2014, 20:57     Классы. Get/Set у property #17
GetHelp, инкапсуляция это очень широкая тема включающая отделение доступного (интерфейса) и не доступного (реализации), контроль целостности (связности) данных, реализации отложенных (ленивых) вычислений... Пока для Вас структуры важнее, а инкапсуляция может приниматься как данность. Потому как, если пойдёте знакомиться с ленивыми вычислениями, например, обогатите голову шестиугольной формой.
Отделение интерфейса от реализации обычно иллюстрируется в литературе вполне нормально, в виде автомобиля с рулём, коробкой и педалями. А вот о связности говорят реже. Тут труднее найти простую абстракцию в виде ящика или кота Фриски (в ящике)). Обычно применяют массив и контроль границ в виде проверки значения индекса на неотрицательность и не превышение поля вроде size. В принципе, этого достаточно, для начала. Попробую ещё о связности пояснить:
Вот допустим Вы пишете класс "Tреуголник". Вы знаете, что три стороны полностью задают экземпляр. Понятно, что надо бы проверять перед записью полей неотрицательность значений, но это не имеет прямого отношения к связности. А вот в чем штука ещё: задавая две любые сторона, вы должны проверять третью на не превышение суммы уже введенных! Тут интересно то ещё, что если сделать поля равноправными, то с одного раза изменить значения полей в сторону резкого увеличения и не получится! Подумайте почему.
То есть, имеет смысл контролировать связность, а это требует ограничения доступа и введение методов доступа.
Для треугольника можно бы разорвать жесткую связь данных, назначив полями две стороны и угол между ними, но речь не о том. Это просто, простой пример.
Yandex
Объявления
27.05.2014, 20:57     Классы. Get/Set у property
Ответ Создать тему
Опции темы

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