основы инкапсуляции c ++ - PullRequest
2 голосов
/ 11 мая 2010

У меня есть задача создать класс Encapsulation с полями в доступных разделах инкапсуляции. Затем я должен создать приложение, показывающее все разрешенные и запрещенные методы доступа к полям.

Что такое разделы инкапсуляции в c ++? А какие методы, кроме object.field или * object-> field, есть в любом случае?

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Вот тривиальный пример инкапсуляции C ++:

 class Foo{
 public:
     int getBar() const { return m_Bar; }
     void setBar(Bar _value){ m_Bar = _value; }
 private:
     Bar m_Bar;
 };

Видите ли, ничто вне класса не может видеть приватное поле. Следовательно, единственный способ получить доступ или изменить переменную "Bar" - использовать методы get / set.

1 голос
/ 11 мая 2010

Вопрос немного неясен, но параметры инкапсуляции C ++ являются публичными, защищенными и приватными. Я предполагаю, что методы доступа относятся не к. и -> операторы, но из которых можно получить доступ к инкапсулированным полям (общедоступные в любом месте, защищенные от базовых и производных функций, приватные только от функций базового класса - если только друг не должен быть покрыт).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...