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 好听的元旦简短祝福语