在C++中,可以通过将一个struct或class声明为另一个struct或class的友元来实现对其私有成员的访问。友元关系可以在声明中通过关键字friend
来建立。
下面是将模板化的struct/class声明为朋友的步骤:
TemplateStruct
,我们希望将其声明为另一个struct TargetStruct
的友元:template <typename T>
struct TemplateStruct {
// 声明TargetStruct为友元
friend struct TargetStruct;
// ...
};
TargetStruct
中可以访问TemplateStruct
的私有成员:struct TargetStruct {
// ...
void AccessTemplateStructPrivateMember() {
TemplateStruct<int> ts;
// 可以访问TemplateStruct的私有成员
ts.privateMember = 10;
}
// ...
};
通过这种方式,我们可以将模板化的struct/class声明为朋友,并在目标struct/class中访问其私有成员。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云