友元函数
:::info 友元函数是一种特权函数,c++允许这个特权函数访问私有成员。
- 可以把一个全局函数、某个类中的成员函数、甚至整个类声明为友元
::: ``` Class Triangular_iterator{ public: Triangular_iterator(int index):_index(index){}; int operator(const Triangular_iterator &rhs); private: int _index; void check_intergrity() const; }; Triangular_iterator:: operator(const Triangular_iterator &rhs){ rhs.check_intergrity(); return Triangular::_elems[_index]; }
Class Triangular{
public:
friend int Triangular_iterator::operator*();
private:
static vector
小结
- 通过将类、全局函数、成员函数声明为友元,可以实现类外访问类内成员;
- 友元函数是出于效率考虑的;