170 похожих чатов

Так, теперь я окончательно запутался. Модификатор доступа private для атрибутов

нужен для того, чтобы значения и/или типы этих самых атрибутов не изменялись из вне?

16 ответов

15 просмотров

Ну да

Что сложного тут вообще? Уже сколько обсуждение может...

Азамат- Автор вопроса
Ilya Zviagin
Ну да

А сеттеры позволяют изменить значения этих самых атрибутов?

Атрибуты - название самостоятельной языковой конструкции (https://en.cppreference.com/w/cpp/language/attributes), Вы же говорите о членах классов. Еще: типы изменяться не могут вообще (в крестах статическая типизация).

Азамат
А сеттеры позволяют изменить значения этих самых а...

Ну да, и при этом контролировать эти изменения

Азамат
А сеттеры позволяют изменить значения этих самых а...

Причем, в С++ как в языке никаких сеттеров геттеров нет, это просто одна из идиом ООП

Азамат- Автор вопроса
Ilya Zviagin
Ну да, и при этом контролировать эти изменения

Каким образом? Типо, если есть атрибут класса типа int, в который, по задумке программиста, нельзя вписывать отрицательные числа, то в сеттерах записывается логика, которая проверяет числа, которые пользователь хочет присвоит атрибуту объекта этого класса, на не отрицательность?

Азамат
Каким образом? Типо, если есть атрибут класса типа...

Не атрибут, еще раз. Читайте. В остальном - абсолютно верно. Но следует помнить, что на самом деле валидация может быть гораздо более сложная. Не говоря уже о том, что там, помимо валидации, может вызываться громоздкое обновление внутреннего инварианта.

Азамат
Каким образом? Типо, если есть атрибут класса типа...

все верно, только это член данных класса, раз уж мы С++ учим

Азамат- Автор вопроса
Азамат
Каким образом? Типо, если есть атрибут класса типа...

Ну вот хранишь ты чётные числа, тебе присылают через сеттер нечётное, ты можешь это проверить и ничего не сохранять, а , скажем, инициировать ошибку (исключение например)

Азамат
Ну, блин, данные в классе или как их там.

общий код - это понятия, которые используются в речи, если ты используешь одно, другие другое, то возникает недопонимание.

Азамат- Автор вопроса
Азамат
Каким образом? Типо, если есть атрибут класса типа...

А с чего вообще возникли такие проблемы с пониманием этого?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта