2070 / C++ / Класи / Дружні функції

 

class Convert {
  private:
    int x=1000;
  public:
    double KilogramToGram(double a) {
      return a * x;
    }
    friend void F1(Convert &a);
  };

void F1(Convert &a) { // по посиланню, аби змінити стан оригінального об'єкту
    a.x = 10; // дружня функція отримує доступ до приватних полів
}

Convert obj;
F1(obj);
cout << obj.KilogramToGram(1);

 

10