对C ++中成员名称的访问控制

时间:2014-02-12 18:44:09

标签: c++

在阅读Bjarne Stroustrup撰写的 C ++编程语言时,有一些句子让我无法理解。下面的段落是关于C ++中类的成员的访问控制,例如private,protected,public。 粗体字是指一个特定的概念,我不知道它是什么。

  

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

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

2 个答案:

答案 0 :(得分:1)

我认为这就是他的意思:

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

答案 1 :(得分:0)

我理解这一点,关键解释在下一句话中:

  

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

这就是名称定义的不重要。访问控制适用于类中的所有类型的定义,无论它是数据成员的定义,还是成员函数或某种类型的定义等。