简简单单学习Cpp-友元函数
友元概念
友元是赋予全局函数,类的成员函数,类有访问别的类的私有成员权限
注意:友元函数不是类的成员函数
class Building {
friend void H(Building& bd);// 声明为友元函数
public:
Building() {
keting = "客厅";
woshi = "卧室";
}
public:
string keting;
private:
string woshi;
};
void H(Building &bd) {
cout << bd.keting << endl;
cout << bd.woshi << endl;// 友元函数 可以访问私有成员变量
}
int main() {
// 封装
Building bn;
H(bn);
system("pause");
return EXIT_SUCCESS;
}
友元类
class Building {
friend void H(Building& bd);// 声明为友元函数
friend class GoodF;// 声明 友元类
public:
Building() {
keting = "客厅";
woshi = "卧室";
}
public:
string keting;
private:
string woshi;
};
void H(Building &bd) {
cout << bd.keting << endl;
cout << bd.woshi << endl;// 友元函数 可以访问私有成员变量
}
class GoodF {
public:
void func(Building& bd) {
cout << "访问" << bd.keting << endl;
cout << bd.woshi << endl;
}
};
int main() {
// 封装
Building bn;
H(bn);
system("pause");
return EXIT_SUCCESS;
}
- 友元关系不可以被继承
- 友元关系是单向的,类A是类B的朋友,但是类B不一定是类A的朋友
- 有缘关系不具备传递性