c++ - 我可以使一个成员函数只能通过另一个类成员函数访问吗?

标签 c++ methods scope friend

据我所知,友元函数可以让函数自由访问整个类。我可以通过只让它访问一个成员函数来限定这个友元函数的范围吗?

例如:

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

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

在此示例中,我希望ResourceCache::Create 只能访问ResourceDesc::Create,而不是所有ResourceDesc .

这可能吗?

最佳答案

C++ 不会为您提供这种细粒度的访问控制。不要太担心访问控制是否准确,无论如何都是你或你的合作者编写的代码,你担心会发生什么坏事?

关于c++ - 我可以使一个成员函数只能通过另一个类成员函数访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496878/

相关文章:

c++ - 我的程序永远循环并且只做了我告诉它做的一半

c# - 什么情况下使用 "method hiding"有意义?

php - 你能举例说明如何使用 PHP __method__ 吗?

c++ - 将局部变量分配给引用参数

c++ - 更改为 C++ 时卡在 while 循环中

c++ - 如何用仿函数定义 vector

c++ - 3D配置空间中的星型算法

c++ - 后缀运算符重载中虚拟参数的用途? C++

javascript - 我如何修复 GM_xmlhttpRequest 中的这个 JS 范围

python - 从类定义中的列表理解访问类变量