Видимость приватных полей (С++)

Можно ли внутри класса обращаться к приватным полям обьекта того же класса?


Ответы (2 шт):

Автор решения: Алексей

Можно, также можно и с дружествених классов, в этом и смысл private полей.

class a
{
private:
int b = 10;
public:
int c = b;
}

Данный пример полностю рабочий, поскольку переменная с в одном классе с переменной b;

→ Ссылка
Автор решения: αλεχολυτ

Функции-члены класса имеют доступ к приватным членам других экземпляров того же класса, а не только к объекту, обозначенному как this. Если бы такого доступа не было, то нельзя было бы реализовать пользовательские операторы копирования/перемещения или соответствующие им конструкторы. Пример:

class A {
   int i;
   void f(A& other) { other.i = i; } // доступ к члену i другого объекта того же класса
};
→ Ссылка