2015-09-27 77 views
-2

我有一個類節點類似關係的類的集合。由於這個原因,我需要訪問一些父母/孩子的功能,否則我想避開最終用戶,因爲他們只是混淆了建議的方法列表,沒有任何意義,並且從外部使用時打破了非常糟糕的事情擁有「生態系統」。隱藏類名稱空間外的成員

我想如果他們都會繼承與虛擬佔位符函數相同的基類,那麼我可以訪問受保護的成員,但顯然不是。有沒有一種方法可以隱藏類成員在特定名稱空間或容器類之外訪問,同時可以從內部訪問?

+0

讓他們私人和授予友誼必要,也許? –

+0

當您的設計選擇幾乎完全受某些IDE「建議的方法列表」中顯示的內容影響時,我認爲這是一個大問題。嘆! –

回答

3

如果您確實需要訪問一些受保護/隱私數據,您可以創建好友類。

Wikipedia

class B { 
    friend class A; // A is a friend of B 

private: 
    int i; 
}; 

class A { 
public: 
    A(B& b) { 
     b.i = 0; // legal access due to friendship 
    } 
}; 
相關問題