Перегрузка операторов ввода/вывода в C++
Перегрузка операторов — это часть полиморфизма, которая включает функцию, благодаря которой мы можем напрямую использовать операторы с определенными пользователем классами и объектами.
Чтобы узнать больше об этом, обратитесь к статье о перегрузке операторов в C++.
Операторы ввода/вывода (>>/<<) Перегрузка в C++
Мы не можем напрямую использовать операторы ввода/вывода (>>/<<) для объектов. Простое объяснение этого состоит в том, что операторы ввода/вывода (>>/<<) предопределены для работы только со встроенными типами данных. Поскольку класс и объекты являются пользовательскими типами данных, компилятор выдает ошибку.
Пример:
int a; cin>>a; cout<<a<<endl;
здесь операторы ввода/вывода (>>/<<) могут использоваться непосредственно как встроенные типы данных.
Пример:
class C{ }; int main() { C c1; cin>>c1; cout<<c1; return 0; }
c1 — переменные типа «класс C». Здесь компилятор выдаст ошибку, поскольку мы пытаемся использовать операторы ввода/вывода (>>/<<) для пользовательских типов данных.
Операторы ввода/вывода (>>/<<) используются для ввода и вывода переменной класса. Это можно сделать с помощью методов, но вместо этого мы выбираем перегрузку операторов. Причина этого в том, что перегрузка оператора дает функциональность для прямого использования оператора, что делает код простым для понимания, и из-за этого даже уменьшается размер кода. Кроме того, перегрузка оператора не влияет на нормальную работу оператора, но предоставляет ему дополнительную функциональность.
Простой пример приведен ниже:
Выход:
Enter a numerator and denominator of Fraction: 16 7 Fraction is: 16/7