[英]Object cannot access its private data. error : private in this context
[英]Is it ok to access a private property of another second data object in the first data object's method?
如問題所述,如果調用是 queue1.compareQueues(queue2),是否可以在 queue1 的方法中訪問 queue2.frontNode?
bool Queue::compareQueues(Queue& queue2) {
Node* queue1Pointer = frontNode;
Node* queue2Pointer = queue2.frontNode;
return true;
};
成員訪問不是每個實例,而是每個 class。 在 class 定義中,您可以訪問所有私有成員(該類的任何實例)。
從cppreference :
每個 class 成員(靜態、非靜態、function、類型等)的名稱都有關聯的“成員訪問權限”。 當在程序的任何地方使用成員的名稱時,會檢查其訪問權限,如果它不滿足訪問規則,則程序不會編譯:[...]
這只是“解釋”(隨后是示例),但請注意,它說的是“每個 class 成員的名稱”,而不是“對象的成員”。
粗略地說,每個 class 訪問的原因是,在成員方法中,您應該知道在觸摸內部時您在做什么。 無論您是接觸this
還是other
一些的內部結構,都不會改變您需要了解該類型的內部工作原理的事實。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.