友元函数被其不属于任何类的非成员函数且可以使其成为另一个类的成员函数得合称。
友元函数可以访问类中的所有成员,无论是类中的私有还是保护成员都能有效访问。
题目
定义全局函数disp(),定义类girl;声明disp为类girl的友元,并输出girl的名字和年龄
输入输出示例
输入 | 输出 | |
示例 1 | | |
#include<iostream>
#include<cstring>
using namespace std;
class girl{
private:
string name;
int old;
public:
void set(string a,int b){
this->name=a;
this->old=b;
}
void shuchu(){
cout<<"女孩的姓名是:"<<name<<",年龄是:"<<old;
}
friend void disp(girl &zll);//也可以写成friend void disp(girl &) ;
};//并且建议友元函数的内容在类外定义。
void disp(girl &zll){
zll.shuchu();
}
int main()
{
string x;
int y;
cin>>x>>y;
girl A;
A.set(x,y);
disp(A);
return 0;
}