宁波网站建设联系方法/深圳纯手工seo

首先定义一个类,包含着数据信息;现在要用友元函数求它俩大于1的最小公因数;
class FriFunClass
{int a, b;
public: FriFunClass(int i, int j) { a=i; b=j; } friend int FriFun(FriFunClass x); // 友元函数
};
这个类的数据信息a,b,没有说明,默认为私有数据成员;定义了一个有友元函数对其访问;
int FriFun(FriFunClass x)
{//由于函数FriFun() 是类FriFunClass的友元函数,所以它可以直接访问a和b int min = x.a > x.b ? x.b : x.a;for (int i = 2; i <= min; i++){if (x.a%i == 0 && x.b%i == 0)return i;}return -1;
}
主函数:
int main()
{FriFunClass n(10, 20); if(FriFun(n)) cout << "Common denominator is " <<FriFun(n) << "n"; else cout << "No common denominator.n"; return 0;
}
所以,通过友元函数可以访问一个类的私有数据成员!