访问私有会员数据和功能

Accessing Private Member Data and Function

本文关键字:数据 功能 访问      更新时间:2023-10-16

我有一个关于即将到来的决赛的简短问题。私有成员数据和函数是否只能由构造函数访问?

感谢回答和阐述。

以下是促使我来找你们的问题和答案:

编辑:

5) 能够确定语句何时是访问私有成员变量或函数的无效尝试。 - 这是一个赠送,私有函数和变量只能在构造函数中访问。

所以这是错误的?

是的,这是完全错误的。

根据标准(ISO/IEC 14882:2003 (E), §11.0/1):

类的成员可以是
    -私人;也就是说,它的名称只能由声明它的类的成员和朋友使用。

它说的是成员,而不是构造函数

任何类方法都可以访问类的私有成员。要考虑的一点是静态成员函数,它没有this指针,只能访问静态成员变量。友元函数和友元类也能够访问类私有成员变量。

您可以从

类内的任何位置访问私有成员,但不能从其他类或其他子类访问私有成员。

不,它们可以从对象内的任何地方访问,只是无法从外部访问。

您可以在对象本身中访问它们,而不仅仅是构造函数。

此外,您应该具有获取和设置方法,以从对象外部获取或设置它,以防您想知道如何能够。