类的友元函数是指在类中声明为友元的函数。友元函数可以访问类的所有成员(包括私有成员),但它本身并不是类的成员函数,因此不需要通过类的对象来调用。友元函数主要用于在类的内部实现对其他类成员的访问和操作。
举例说明:
#include <iostream>
using namespace std;
?
class A {
private:
int x;
?
public:
A(int a) : x(a) {}
?
// 声明友元函数
friend void printX(A &obj);
};
?
// 实现友元函数
void printX(A &obj) {
cout << "the value of object A:" << obj.x << endl;
}
?
int main() {
A a(10);
printX(a); // 通过友元函数访问类的私有成员
system("pause"); // 暂停程序,等待用户按键继续
return 0;
}
?
这个友元函数的参数是一个类A的对象引用,名为obj。函数的作用是输出该对象的成员变量x的值。其中,&表示取地址符,用于获取对象的内存地址;A &obj表示将一个A类型的对象的引用传递给函数printX。在函数内部,通过obj.x可以访问到该对象的成员变量x的值,并将其输出到控制台。
输出结果为:
the value of object A:10
请按任意键继续. . .