7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
||||||
1 | ||||||
Как перегрузить методы, чтобы получились аналоги get set из C#12.10.2015, 22:15. Показов 5536. Ответов 75
Метки нет (Все метки)
Как можно перегрузить методы, что бы получился аналог get set из C#. Т.е. что то такое:
0
|
12.10.2015, 22:15 | |
Ответы с готовыми решениями:
75
Как сделать, чтобы из числа, допустим, 0,040005000 после 5 получились звёздочки Std::set с кастомным классом, как правильно перегрузить оператор < ? Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов? Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
|
|
12.10.2015, 22:18 | 2 |
Создай функции getX() и setX().
0
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|
12.10.2015, 22:25 [ТС] | 3 |
Ну это то понятно, что можно. Ну интересует именно перегрузка
0
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|
12.10.2015, 22:34 [ТС] | 5 |
Прошу прощения. Там вмсето count долен быть x
Добавлено через 1 минуту Перегрузки нет) В том то и вопрос как его сделать) Как сделать свойство для приватной переменной класса, что бы его можно было использовать на подобии C#? Нашел какой то __declspec, но пока не понял
0
|
12.10.2015, 22:37 | 6 | |||||
Тут единицы знают как это используется в C#. Приведи хотя бы пример на C#.
0
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|||||||||||
12.10.2015, 22:48 [ТС] | 7 | ||||||||||
Так инкапсулируются переменные:
0
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|
12.10.2015, 22:59 [ТС] | 9 |
Нет перегрузки..) Она и не требуется, потому что сам C# уже нормально умеет инкапсулировать переменные.
С++ так не умеет, поэтому приходится либо писать функции, которые неудобны, либо как то перегрузить операторы, чтобы можно было писать как на C#
0
|
12.10.2015, 23:08 | 10 | |||||
Ты говоришь так, будто перегрузка и инкапсуляция - одно и то же. Это не так.
Тебе нужны так называемые "Гетеры" и "Сетеры"?
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||||
12.10.2015, 23:14 | 11 | ||||||||||
В нормальных компиляторах делается так:
Во всех остальных:
1
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
|
|
12.10.2015, 23:20 | 12 |
Fulcrum_013, я и не знал, что в C++ есть эти квази-поля как в C#. Это часть стандарта?
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
12.10.2015, 23:23 | 13 |
Смотри внимательно разницу между случаями. В том который в стандарте свойству можно назначить только геттеры и сеттеры из той же или более открытой области видимости, что в общем то нарушает инкапсуляцию, особенно если сеттер или геттер идут на прямую, т.е в get или set указывается сама переменная а не функция доступа.
Добавлено через 2 минуты Они появились гораздо раньше чем C#, году этак в 95-о в двух вариантах - борландовском и мелкомягком. мелкомягкий потом внесли в стандарт.
0
|
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
12.10.2015, 23:25 | 14 |
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
12.10.2015, 23:26 | 15 |
Они кстати еще могут и применяться для инкапсуляции доступа к массивам любой размерности, причем индексом массива может быть любой тип, в том числе и пользовательский.
0
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
||||||
12.10.2015, 23:28 [ТС] | 17 | |||||
Т.е. я хотел перегрузить операцию какую то бинарную или унарную операцию для определенной переменной)
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
|
|
12.10.2015, 23:28 | 18 |
Ну здесь всё же немного не так. В C# можно назначить одно имя для свойства, а фактически оперировать с внутренним полем с другим именем.
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
12.10.2015, 23:31 | 19 |
Ну тем не менее борландовский компилятор поддерживает оба формата. Да и мне тут на форуме с пеной у рта доказывали что второй вариант не мелкомягкий а часть стандарта, значит в стандарте он очень давно, настолько давно что успели забыть что появился этот формат у мелкомягких.
0
|
12.10.2015, 23:32 | 20 |
0
|
12.10.2015, 23:32 | |
12.10.2015, 23:32 | |
Помогаю со студенческими работами здесь
20
получить все комбинации по парам x y, чтобы получились следующие массивы Из каждого предложения удалить знаки препинания чтобы получились лексемы Как перегрузить оператор = , чтобы ф-ция была дружественной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |