friend class 友元类

C++中的友元机制允许类的非公有成员被一个类或者函数访问,友元按类型分为三种:普通非类成员函数作为友元,类的成员函数作为友元,类作为友元。 此次我们着重理解友元类,friend在类中的声明可以再public、protected和private的如何一个控制域中,而不影响其效果。例如,如果你在protected域中有这样的声明,那么aClass类同样可以访问该类的private成员。

例如:

class Protocol104 : public Protocol { public: Protocol104(Type t); virtual ~Protocol104(); private: friend class Protocol104Private; PacketMode mode; }

在Protocol104Private文件内就可以调用Protocol104的私有。 如下: 先定义:

class Protocol104Private { public: Protocol104Private(Protocol104* parent); ~Protocol104Private(); private: Protocol104 *q_ptr; }; if(q_ptr->mode == Protocol::RAW_PACKET) { dump_msg(104, 1, msg +4, bytesIndex-4 ); }

代码中的mode就为 Protocol104的私有,还可以调用。

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:friend class 友元类 https://www.yhzz.com.cn/a/13915.html

上一篇 2023-05-12
下一篇 2023-05-12

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。