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

Геттер и сеттер - C++

Восстановить пароль Регистрация
 
VaJI
 Аватар для VaJI
7 / 5 / 1
Регистрация: 24.03.2013
Сообщений: 40
22.08.2013, 17:41     Геттер и сеттер #1
Здравствуйте!
Не подскажете, возможно ли создать такой класс для реализации следующих потомков:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class foo()//необходимо реализовать
{};
 
class a : public foo
{
    ///////////////
    int x;
    int y;
    ///////////////
};
//использование 
a.x(10);
int some = a.y();
Т.е. по сути сеттер и геттер с названием функции поля которое необходимо установить. Кол-во полей неизвестно и их тип тоже..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2013, 17:41     Геттер и сеттер
Посмотрите здесь:

Z-order поиск и сеттер C++ WinAPI
Геттер для строки (Классы) C++
ActionScript Сеттер и Геттер
Минутка ООП, геттер, сеттер C#
Геттер/Сеттер для классового типа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
22.08.2013, 18:22     Геттер и сеттер #2
Цитата Сообщение от VaJI Посмотреть сообщение
//использование
a.x(10);
int some = a.y();
использовать Вы точно не сможете - х и у в private, а сути вопроса не понял, если честно
VaJI
 Аватар для VaJI
7 / 5 / 1
Регистрация: 24.03.2013
Сообщений: 40
22.08.2013, 18:51  [ТС]     Геттер и сеттер #3
x и y в private, но методы x() и y() public. Собственно эти методы и суть вопроса)
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.08.2013, 18:52     Геттер и сеттер #4
VaJI, не получится, в С++ нет рефлексии. Если только хранить все поля класса в каком-нибудь кортеже...
VaJI
 Аватар для VaJI
7 / 5 / 1
Регистрация: 24.03.2013
Сообщений: 40
22.08.2013, 18:53  [ТС]     Геттер и сеттер #5
Мне подсказали что можно попробовать перегрузить точку, но терзают смутные сомнения.. что вообще потом не обращусь к полям)
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.08.2013, 18:55     Геттер и сеттер #6
Цитата Сообщение от VaJI Посмотреть сообщение
Мне подсказали что можно попробовать перегрузить точку
Её вообще нельзя перегрузить )
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.08.2013, 18:57     Геттер и сеттер #7
gray_fox, Пока нельзя, да. А так видел где-то реализацию перегрузки . в clang-е.
Ну и вот предложенице: http://www.open-std.org/jtc1/sc22/wg...2004/n1671.pdf
А вот и видео: http://www.youtube.com/watch?v=Gy9ITl1AWRY но я смотрел только слайды по нему (https://github.com/boostcon/cppnow_p...oading_dot.pdf)
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.08.2013, 19:12     Геттер и сеттер #8
ForEveR, ну "проблему" ТС это бы всё равно не решило.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 19:20     Геттер и сеттер
Еще ссылки по теме:

C++ Работа с массивом через геттер и сеттер
C++ Свойства (геттер) - альтернатива Property?
C# Многопоточный геттер System.IndexOutOfRangeException

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

Или воспользуйтесь поиском по форуму:
VaJI
 Аватар для VaJI
7 / 5 / 1
Регистрация: 24.03.2013
Сообщений: 40
22.08.2013, 19:20  [ТС]     Геттер и сеттер #9
ForEveR, мой вопрос это скорее всего не решит т. к:
Один из способов разрешить дилемму — использовать operator.() для а.m только в том случае, если класс ссылки сам не содержит члена с именем m. Мне такое решение нравится больше всего.
Yandex
Объявления
22.08.2013, 19:20     Геттер и сеттер
Ответ Создать тему
Опции темы

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