这合法吗?如果不允许,以下代码是否允许这样做?
class Foo
{
friend class Foo;
}
最佳答案
那是多余的。 Foo 已经可以访问所有 Foo 成员。两个 Foo 对象可以访问彼此的成员。
class Foo {
public:
int touchOtherParts(const Foo &foo) {return foo.privateparts;}
private:
int privateparts;
};
Foo a,b;
b.touchOtherParts(a);
上面的代码可以正常工作。 B 将访问 A 的私有(private)数据成员。
关于c++ - 访问同一类对象的私有(private)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832613/