c++ - 访问同一类对象的私有(private)元素

标签 c++ class private private-members

这合法吗?如果不允许,以下代码是否允许这样做?

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/

相关文章:

javascript - 是否可以阻止浏览器访问文本文件,但仍允许 JavaScript 访问?

c++ - 可变参数模板函数确定函数指针返回类型

java - 在 Java 中转换 - (Parent) 这是什么意思?

C#:使用实现私有(private)接口(interface)的对象参数测试方法

class - 将类成员函数传递给 for_each

C++ 类 : Initializing attributes without constructor overloading

java - java私有(private)数据成员可以从类外部访问吗?

c++ - 使用自定义类的 C++ STL 映射的运算符重载

c++ - 回调例程

c++ - 对于不熟悉实践的 C++ 开发人员来说,重新投入其中的好项目/方式是什么?