友元函数破坏了类的封装性
在类里声明友元函数。 friend void get_name( classname * ptr ,int x ),声明的位置可在private ,也可在public 里 ; 属于全局函数。故在定义时,不用使用域解析符。
可以通过友元函数访问类的私有属性。
友元类
class A{ friend class B ; //声明B是A的友元} 则B的所有成员函数均是类A的友元函数。
运算符重载的本质 是 函数调用
1 运算符重载时可调用全局函数 (也叫友元函数)
2 也可以通过调用成员函数 有 this 指针,而1 没有this指针。