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 红包祝福语简短10字
18 周六早晨祝福语简短