Sobrecargar operadores de inserción de flujo de entrada y salida en C++

Muhammad Adil 11 diciembre 2023
  1. Usos de los operadores de inserción de flujo de entrada y salida
  2. Pasos para sobrecargar los operadores de inserción de flujo de entrada y salida en C++
Sobrecargar operadores de inserción de flujo de entrada y salida en C++

Puede realizar una sobrecarga de operadores en C++. Este artículo trata sobre los operadores de inserción de secuencias de entrada y salida.

Los operadores son una forma de crear expresiones en C++. Puede sobrecargarlos, lo que significa que puede definir nuevos significados para los operadores.

Los operadores de inserción de flujo de entrada y salida leen o escriben información de un archivo. En C++, el operador de inserción de flujo << se usa para la salida, mientras que >> se usa para la entrada.

Antes de que comencemos a sobrecargar estos operadores, primero debemos entender estos puntos. cin y cout son objetos de las clases istream y ostream.

Como función global, estos operadores deben estar sobrecargados. Y necesitamos agregarlos como amigos si queremos darles acceso a la información privada de los miembros de la clase.

Es importante tener en cuenta que en el caso de sobrecarga del operador, el objeto del lado izquierdo del operador debe contener el operador si está sobrecargado como miembro.

Usos de los operadores de inserción de flujo de entrada y salida

Los siguientes son los usos de los operadores de inserción de secuencias de entrada y salida:

  1. Para insertar datos de entrada en un programa.
  2. Para insertar datos de salida en un programa.
  3. Para crear una tubería que se pueda usar para pasar datos de un proceso a otro.

Pasos para sobrecargar los operadores de inserción de flujo de entrada y salida en C++

Se pueden seguir los siguientes pasos para sobrecargar los operadores de inserción de flujo de entradas y salidas en C++:

  • Cree una clase con dos miembros de datos públicos: flujo de entrada y salida.
  • Cree dos funciones públicas, a saber, salida operador<<() e entrada operador>>().
  • En ambas funciones, cree un ciclo que itere a través de cada carácter de la cadena de entrada usando getline() e insértelos en la cadena de salida usando putchar().
  • En ambas funciones, utilice return 0; para terminar el programa.

Analicemos un ejemplo.

#include <iostream>
using namespace std;
class Demo {
 private:
  int x;
  int y;

 public:
  Demo() {
    x = 0;
    y = 0;
  }
  Demo(int x1, int y1) {
    x = x1;
    y = y1;
  }
  friend ostream &operator<<(ostream &output, const Demo &S) {
    output << "x1 : " << S.x << " y1 : " << S.y;
    return output;
  }
};
int main() {
  Demo S1(6, 2), S2(3, 19);
  cout << "1st Value : " << S1 << endl;
  cout << "2nd Value : " << S2 << endl;
  return 0;
}

Producción :

1st Value : x1 : 6 y1 : 2
2nd Value : x1 : 3 y1 : 19

Haga clic aquí para comprobar el funcionamiento del código mencionado anteriormente.

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Artículo relacionado - C++ Operator