Здравствуйте!
Скажите, почему этот код работает?
Почему через точку я получаю доступ к закрытому члену данных, непосредственно когда я делаю это в другом объекте того же типа?
Это вообще правильно, обяъсните пожалуйста что тут происходит. Я вот думал доступ к закрытым членам можно получить только из члена — функции через указатель this, а тут на те ...
class SimpleClass {
private:
int val;
public:
SimpleClass(int i) { val = i; }
void show_val(SimpleClass &ob) {
cout << ob.val << endl; // почему доступно?
SimpleClass ob1;
cout << ob1.val << endl; // почему доступно?
}
}
...
SimpleClass ob1(100);
SimpleClass ob2(200);
ob.show_val(ob2); // 200
Я может чего не до понимаю, направьте куда нужно.