私の知る限り、フレンド関数を使用すると、関数はクラス全体に自由にアクセスできます。1 つのメンバー関数にのみアクセスできるようにすることで、このフレンド関数のスコープを設定できますか?
例えば:
class ResourceCache {
Resource* Create(ResourceDesc) {
...
return ResourceDesc.Create();
}
}
class ResourceDesc {
...
Resource* Create();
}
この例では、すべての ではなく、ResourceCache::Create
のみにアクセスしたいと考えています。ResourceDesc::Create
ResourceDesc
それは可能ですか?