Интерфейс
class Money
{
private:
double Summa;
public:
friend ostream& operator <<(ostream& outputStream, const Money& amount);
}
Реализация
ostream& operator <<(ostream& outputStream, const Money& amount)
{
outputStream << amount.Summa;
return outputStream;
}
Вы не указали пространство имен в заголовочном файле. Это правильно, но компилятор не понимает, что такое ostream. Исправьте объявление на
friend std::ostream& operator <<(std::ostream& outputStream, const Money& amount);
Но у вас есть момент хуже - бесконечная рекурсия... Конструктор копирования вызывает оператор присваивания, а тот вызывает конструктор копирования...
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники