我有一個即將到來的決賽的快速問題。私有成員數據和函數是否只能由構造函數訪問?訪問私人會員數據和功能
回答和闡述讚賞。
下面是促使我來到你們的問題和答案:
編輯:
5)能夠確定何時聲明是無效的嘗試訪問私有成員變量或功能。 - 這是一個贈送,私人函數和變量只能在構造函數中訪問。
所以這是錯誤的?
我有一個即將到來的決賽的快速問題。私有成員數據和函數是否只能由構造函數訪問?訪問私人會員數據和功能
回答和闡述讚賞。
下面是促使我來到你們的問題和答案:
編輯:
5)能夠確定何時聲明是無效的嘗試訪問私有成員變量或功能。 - 這是一個贈送,私人函數和變量只能在構造函數中訪問。
所以這是錯誤的?
是的,這顯然是錯誤的。
從標準(ISO/IEC 14882:2003(E),§11.0/ 1):
一個類的一個成員可以是
- 私人;也就是說,它的名字只能由宣稱的類的成員和朋友使用。
它說成員,不構造。
您可以從班級內的任何位置訪問私人成員,但不能從其他班級或其他子類訪問。
除非另一個類被聲明爲「朋友」 – 2012-08-08 19:43:16
啊,是的,我認爲我們在談論Java,但它是C++。 – 2012-08-08 20:04:05
不,它們可以從物體內的任何地方訪問,它只是無法從外部訪問。
您可以在對象本身內部到達它們,而不僅僅是構造函數。
而且,如果您想知道如何做到這一點,還應該獲取並設置從對象外部獲取或設置它的方法。
類的私有成員將可以被任何類的方法訪問。需要考慮的一點是靜態成員函數,它沒有this
指針,只能訪問靜態成員變量。 Friend函數和Friend類也可以訪問類私有成員變量。
不,一個類的私人成員可以被該類的任何其他成員訪問。你是否想要初始化'const'成員? – 2012-08-08 19:42:38