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;
};
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短