【问题标题】:Access control to names of members in C++对 C++ 中成员名称的访问控制
【发布时间】:2014-02-12 18:44:08
【问题描述】:

在阅读 Bjarne Stroustrup 的 The C++ Programming Language 时,有几句话我无法理解。下面的段落是关于对 C++ 中类成员的访问控制,例如私有、受保护、公共。 粗体字是指一个特定的概念,我不知道那是什么。

访问控制统一应用于名称。 名称所指的内容不影响对使用的控制。这意味着我们可以拥有私有成员函数、类型、常量等,以及私有数据成员。

我最好的假设是“名称所指的”代表原始内存中的对象,这最终意味着我们可以获取指向原始内存中私有成员的对象实体的指针,并且无论访问控制如何都可以访问它.但是,考虑到它与我们可以拥有私有成员的声明无关,这似乎是错误的。我不知道上面的段落试图传达什么。

【问题讨论】:

    标签: c++


    【解决方案1】:

    我想这就是他的意思:

    假设您有一个名为p_member私人成员。当然,它可以是一个数据成员、一个方法、一个常量……但在访问控制的上下文中, p_member 没有发挥重要作用。重要的是名为p_member 的成员是私有的。不管它是数据成员还是方法 - 它同样是私有的。

    【讨论】:

    • 很难从许多同样好的答案中选择一个。谢谢您的回答。我真的很感激。
    【解决方案2】:

    我这样理解,关键解释在下一句:

    这意味着我们可以拥有私有的成员函数、类型、 常量等,以及私有数据成员

    也就是说,名称定义什么并不重要。访问控制适用于类中的各种定义,无论是数据成员的定义,还是成员函数或某种类型的定义等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      相关资源
      最近更新 更多