У меня есть базовый класс, в котором выполняется переопределение оператора < <.Оператор переопределения C++ << в унаследованном классе
friend std::ostream& operator<<(std::ostream& out, const Animal& animal);
ostream & operator<<(ostream & out, const Animal& animal)
{
out << animal.age << "," << animal.size << endl;
}
Это в .h моего класса Abonne. У меня есть унаследованный класс этого класса Abonne с именем Etudiant. Я хочу переопределить оператор < < в классе Etudiant, но я хочу, чтобы он вызывал оператора < < базового класса Abonne в определении класса Etudiant, а также добавлял больше. Я попытался это:
friend ostream& operator<<(ostream& out, const Dog& dog);
ostream& operator<<(ostream& out, const Dog& dog)
{
return out << dog << endl;
}
Это не работает, ссылаясь на < < о себе и recursiving, пока она не выходит из строя.
Как я могу продолжить?
спасибо.
_ "У меня есть базовый класс, который содержит переопределение оператора << в качестве глобальной функции" _ Все об этом утверждении неверно. –
Создайте функцию 'put()', которая может использоваться с классификатором класса. –