Модификатори за достъп до членовете на класа
Капсулирането (скриването на информацията) е механизъм който предпазва вътрешното представяне на данните. В обектно-ориентирането програмиране капсулирането е основна техника, която се използва за разпределяне на отговорностите между различните части на програмата.
Класовете в C++ имат силно развит механизъм за скриване на информацията. В основата му са спецификаторите за достъп – public, private и protected. Чрез спецификаторите за достъп тялото на класа се разделя на секции – публична (public), скрита (private) и защитена (protected). В зависимост от това в коя секция е дефиниран даден член на класа, той се превръща съответно в публичен, скрит или защитен.
Публичните членове на класа са достъпни от всички точки на програмата.
Скритите членове на класа са достъпни само в член-функциите на класа и в приятелите на класа.
Защитените членове се държат като публични за членовете на производните класове и като скрити за всички останали точки на програмата.
Като пример нека разгледаме класа Point, дефиниран по следния начин:
class Point {
double x_, y_;
public:
void set_x(double x){x_=x;}
};
int main() {
Point p1, p2;
p1.set_x(10.0);
p2.x_=10.0; // грешка
...
}
В ред 9 променяме състоянието на обекта p1 като се обръщаме към публичен член на класа – член-функцията set_x(). Като резултат стойността на скритата член-променлива p1.x_ става 10. Ако се опитаме обаче директно да променим стойността на скрита член-променлива (вж. ред 10), то компилаторът ще даде съобщение за грешка.

Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране
Pingback: CPP-101: Обработка на изключения | Записки по програмиране