类的友元函数定义为不在该类中定义的函数,但它有权访问该类的所有 public、protected 和 private 成员和数据。即使在类定义中提到了友元函数,它也不会被视为类的成员函数。
要将函数声明为类的友元,请在类定义中将函数原型前面加上 friend 关键字,如下所示:
class className {
... .. ...
friend returnType functionName(arguments);
... .. ...
}
创建一个类 Distance 并声明一个私有变量 meter。声明一个友元函数 addFive()
Friend int addFive(Distance)
其中,
这里 addFive() 可以访问 private 和 public 数据成员。通过以下方式访问友元函数中的私有成员:
d.meter += 5;
return d.meter;
在 main 函数中为类 Distance 创建一个对象 D,并使用此对象访问友元函数
cout << "距离:" << addFive(D);
步骤 1: 调用头文件 iostream。
步骤 2: 使用 namespace std.
步骤 3:创建一个类 Distance
步骤 4: 将变量 meter 声明为 private。
步骤 5: 声明一个友元函数 addFive()。
步骤 6: 定义一个 public 函数 Distance()。
步骤 7: 定义友元函数。
步骤 8: 打开整数类型 main 函数;int main()。
步骤 9: 为类 Distance 创建一个对象。
步骤 10: 使用对象访问友元函数并在屏幕上显示结果。
步骤 11: 退出
// C++ program to demonstrate the working of friend function
#include <iostream>
using namespace std;
class Distance {
private:
int meter;
// friend function
friend int addFive(Distance);
public:
Distance() : meter(0) {}
};
// friend function definition
int addFive(Distance d) {
//accessing private members from the friend function
d.meter += 5;
return d.meter;
}
int main() {
Distance D;
cout << "Distance: " << addFive(D);
return 0;
}
Distance: 5