Перегрузка оператора== не имеет доступа к приватному полям

bool operator== (book a, book b) {
    if (a.code == b.code) { return true; }
    else { return false; }
}

Перегрузка должна сравнивать объекты по одному полю, но поле закрыто для неё.


Ответы (1 шт):

Автор решения: AlexGlebe

Этот оператор нужно объявить дружественным к данному классу book.

class book {

// ..

friend bool operator == (book a, book b) ;

// ..

} ;
→ Ссылка