Different objects of the same class can access each other’s members, even if these members are private. For example:
class A{ int n;public: void f(A* p) {p->n=0;}// another object's private member!};int main(){A a1,a2;a1.f(&a2); // a1 changes a2's n}
Typically, this coding style should be avoided. However, you should be aware that private members of an object can be changed by another object of the same type. Therefore, in certain special conditions, this coding style may be useful.