Как сделать дружественные функции в классе?
Создайте класс инкапсулирующий автомобиль определенной модели c закрытым данным Состояние автомобиля, у которого есть дружественная функция Поездка, ухудшающая Состояние, есть дружественная операция >, сравнивающая два авто по Состоянию, и дружественный класс Автослесарь, который может улучшить(восстановить) Состояние, статическое поле Модель_авто, статический метод , возвращающий название модели, вложенный класс Двигатель. Вот код, помогите его переделать под условие задания:
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
class Vehicle
{
private:
string modelcar;
int condition;
public:
Vehicle(int condition)
{
this->condition = condition;
};
void print()
{
cout << "Состояние - " << condition << endl;
}
friend void Trip(Vehicle&);
};
void Trip(Vehicle& obj)
{
obj.condition--;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Vehicle obj(100);
obj.print();
Trip(obj);
obj.print();
return 0;
}
Источник: Stack Overflow на русском