大佬教程收集整理的这篇文章主要介绍了c – 将名称空间声明为类的朋友,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class C { private: // ... public: // ... friend C* B::f1(C*); friend C* B::f2(C*); friend C* B::f3(C*); friend C* B::f4(C*); friend C* B::f5(C*); };
和一个命名空间B为:
namespace B { C* f1(C* X); C* f2(C* X); C* f3(C* X); C* f4(C* X); C* f5(C* X); };
现在,我宁愿避免在类定义中写入5行,使命名空间B的所有五个函数都与C类通信,并告诉编译器,命名空间B中定义的所有函数都是类C的朋友(即可以访问其私人成员).
一个快速的修复我想是将命名空间更改为一个类,并将这些函数定义为其静态成员,然后将类B声明为类C的朋友.但是,出于好奇,我想知道这样的事情是否可以使用命名空间好吗?
提前致谢.
以上是大佬教程为你收集整理的c – 将名称空间声明为类的朋友全部内容,希望文章能够帮你解决c – 将名称空间声明为类的朋友所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。