C++ friend友元函数定义语法
友元函数定义
C++中的友元函数并不是某一个类中的成员函数,却可以访问该类中的private私有和procted受保护的成员,但声明友元函数的时候,则一般需要在该类中进行声明,语法是通过friend关键词进行修饰,语法如下:
friend type functionName( type )
语法解析
如上语法,友元函数的声明除了friend关键字之外,其它的与C++中普通的函数的定义基本类似,有返回值的类型,也有参数的类型,如果要用友元函数访问类中的私有成员和受保护的成员,则可以将参数的类型指定为类的名称。
提示:友元函数虽然在类中声明,但并不是该类的成员。
友元函数实例代码
#include <iostream>
using namespace std;
class Fruit{
public:
// 声明友元函数
friend void getName( Fruit );
// 声明成员函数
void setName(string);
private:
string fruit_name;
};
// 定义成员函数
void Fruit::setName(string n){
fruit_name = n;
}
// 定义友元函数
void getName(Fruit f){
cout << f.fruit_name << endl;
}
int main() {
Fruit b;
b.setName("香蕉");
getName(b);
return 0;
}
免责声明:内容仅供参考,不保证正确性。