友元函数能不能访问类中的私有数据成员

2025-04-14 19:39:10
推荐回答(2个)
回答1:

1、 友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。
2、 友元函数可以访问类的静态成员、私有成员和公有成员。
3、友元的作用在于提高程序的运行效率(即减少了类型检查和安全性检查等都需要的时间开销),但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。

回答2:

可以访问。。成员函数和友元函数具有同等的特权(100%
的)。主要的不同在于友元函数象f(x)这样调用,而成员函数象
x.f()这样调用。因此,可以在成员函数(x.f())和友元函数(f(x))之间选择的能力允许设计者选择他所认为更具可读性的语法来降低维护成本...
展开全部