[英]Can I make a member function only accessible through another class member function?
據我所知,朋友函數將使函數可以自由訪問整個類。 我可以通過只讓它訪問單個成員函數來擴展此友元函數的范圍嗎?
例如:
class ResourceCache {
Resource* Create(ResourceDesc) {
...
return ResourceDesc.Create();
}
}
class ResourceDesc {
...
Resource* Create();
}
在這個例子中,我希望ResourceCache::Create
只能訪問ResourceDesc::Create
,但不能訪問所有ResourceDesc
。
那可能嗎?
C ++沒有為您提供細粒度的訪問控制。 不要過於擔心訪問控制是否正確,這是你或你的合作者編寫的所有代碼,你害怕會發生什么壞事?
C ++不允許這樣做。
我的直接想法是,如果你想這樣做,它至少可能表明你的ResourceDesc
(以及可能還有ResourceCache
)可能在很大的一面,可能會做多個類真的應該。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.