我是否只能通过其他类成员函数访问成员函数?

Ice*_*000 2 c++ methods scope friend

据我所知,朋友函数将使函数可以自由访问整个类.我可以通过只让它访问单个成员函数来扩展此友元函数的范围吗?

例如:

class ResourceCache {
    Resource* Create(ResourceDesc) {
        ...
        return ResourceDesc.Create();
    }
}

class ResourceDesc {
    ...
    Resource* Create();
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我想ResourceCache::Create只能访问ResourceDesc::Create,但不能访问所有ResourceDesc.

那可能吗?

Ned*_*der 8

C++没有为您提供细粒度的访问控制.不要过于担心访问控制是否正确,这是你或你的合作者编写的所有代码,你害怕会发生什么坏事?