Page cover

😎Friend / дружественные функции, классы

оператор friend - позволяет объявить объект "дружественным", что бы тот мог взаимодействовать с приватными полями класса.

class coordinate
{
private: 
    int x;
    int y;

public: 

    /* ---ДРУЖЕСТВЕННЫЕ ФУНКЦИИ--- */

    friend void ChangeX(coordinate& value);

};


void ChangeX(coordinate& value)
{
    value.x = -1;
}


int main()
{
    coordinate A(2, 5);

    ChangeX(A);
    A.ShowInfo();
    
}

Условная функция которая меняет приватное значение x. В классе объявляем функцию дружественной, объявление схоже с прототипом функции. В качестве параметров функции принимаем по ссылке объект класса.

Last updated