![]() |
private
Я всегда считал, что private закрывает доступ к полям для всех кроме экземпляра-владельца. Однако сейчас заметил, что данный код на GCC указывает всего на одну ошибку.
Код:
#include <conio.h> В Бьерн Страуструп Язык программирования C++. Специальное издание. Пер. с англ. — М.: Издательство Бином, 2011 г. — 1136 с: ил. формулировка, не противоречащая ни первому варианту, ни второму. Пользователи студии отпишитесь, пожалуйста! |
Ответ: private
По стандарту приватный член инкапсулирован в контексте класса. Объект может прямую доставать поля других объектов того же класса, такие дела.
|
Ответ: private
Цитата:
private закрывает доступ к полям для всех кроме класса-владельца. не экземпляра |
Ответ: private
Перечитал текст лекции, рассказанной студентам в прошлом году - там всё правильно (как Knightmare написал). Фух - значит помутнение какое-то у меня.
|
Ответ: private
Цитата:
|
Ответ: private
Цитата:
|
Ответ: private
На самом деле, всё можно логично обосновать:
Твой класс - твои правила. В плане: никто кроме разработчика библиотеки не должен писать методы класса. Все остальные взаимодействующие объекты (сторонние библиотеки) как раз будут довольствоваться паблик-интерфейсом. Для того чтобы "следить за собой" можно воспользоваться другими инструментами языка: выделять часть данных в структуры, имеющие свой интерфейс, использовать перегрузку операторов и перечисляемые типы, спецификаторы const, mutable и т.п. На худой конец - использовать возможности стат.анализаторов. В любом случае - от ошибки никто не застрахован |
Часовой пояс GMT +4, время: 21:30. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot