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友谊健康吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)