Реализация виртуального оператора
Необходимость в виртуальном операторе
Дилемма свободных функций
Проблема возникает из-за того, что оператор
Решение через косвенное направление
Чтобы решить эту дилемму, рассмотрите возможность добавления виртуальной функции-члена, которая инкапсулирует желаемое поведение вывода:
class MyClass {
public:
virtual void print(ostream& out) const; // Virtual output function
};
Настраиваемый оператор с виртуальным поведением
При наличии виртуальной функции-члена вы можете определить оператор
ostream& operatorЭтот подход поддерживает правильный порядок параметров для свободной функции оператора
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3