同伴之间的C友谊健康吗?

同伴之间的C友谊健康吗?,第1张

概述虽然阶级友谊是C的最后一个度假胜地,但这种模式是否有意义? class Peer{public: friend class Peer; void GetSecret(const Peer& other) { const std::string& secret = other.GiveSecret(); std::cout << secre 虽然阶级友谊是C的最后一个度假胜地,但这种模式是否有意义?

class Peer{public:    frIEnd class Peer;    voID GetSecret(const Peer& other)    {        const std::string& secret = other.GiveSecret();        std::cout << secret << std::endl;    }private:    const std::string& GiveSecret() const    {        return "secrety stuff";    }};int main(int argc,char* argv[]){    Peer peerA;    Peer peerB;    peerA.GetSecret(peerB);    return 0;}

好的,这种模式的原因是因为对等体都是相同的等级,并且他们需要彼此分享知识,但是这种知识是秘密的,因为除了对等体之外没有人应该使用它,或者程序不再有效.

一个非常真实的例子是,当一个对等体从另一个对等体复制构建时,它需要从其源对等体访问秘密信息,但同样没有其他人知道这些内部对象,只有对等体.

解决方法 在这种情况下,朋友不是必需的.类的对象可以访问任何其他相同类型的对象的私有成员.没有朋友声明它应该工作得很好. 总结

以上是内存溢出为你收集整理的同伴之间的C友谊健康吗?全部内容,希望文章能够帮你解决同伴之间的C友谊健康吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存