C++ Friend类
示例
整个班级都可以宣布为朋友。Friend类声明是指朋友的任何成员都可以访问该声明类的私有成员和受保护成员:
class Accesser {
public:
void private_accesser1();
void private_accesser2();
};
class PrivateHolder {
public:
PrivateHolder(int val) : private_value(val) {}
friend class Accesser;
private:
int private_value;
};
void Accesser::private_accesser1() {
PrivateHolder ph(10);
//好。
std::cout <<ph.private_value<< std::endl;
}
void Accesser::private_accesser2() {
PrivateHolder ph(10);
//好。
std::cout <<ph.private_value+ 1 << std::endl;
}朋友类声明不是反身的。如果类需要双向双向私有访问,则它们都需要朋友声明。
class Accesser {
public:
void private_accesser1();
void private_accesser2();
private:
int private_value = 0;
};
class PrivateHolder {
public:
PrivateHolder(int val) : private_value(val) {}
//Accesser是PrivateHolder的朋友
friend class Accesser;
void reverse_accesse() {
//但是PrivateHolder无法访问Accesser的成员。
Accesser a;
std::cout << a.private_value;
}
private:
int private_value;
};
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短