Xirdus Xirdus - 1 month ago 6
C++ Question

Access private elements of object of same class

Is this legal? If not, will the following code allow this?

class Foo
{
friend class Foo;
}

Answer

That's redundant. Foo already has access to all Foo members. Two Foo objects can access each other's members.

class Foo {
public:
  int touchOtherParts(const Foo &foo) {return foo.privateparts;}
private:
  int privateparts;
};

Foo a,b;
b.touchOtherParts(a);

The above code will work just fine. B will access a's private data member.

Comments