Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OPERADORES
Laboratorio de Programación I
¿Qué es la sobrecarga de operadores?
y.operator+(z)
Como una función no miembro se definiría:
class Racional{
friend Racional operator+(const Racional &,
const Racional &);
…..
};
para
++f1
el compilador llama a
operator++(f1).
Las versiones posfijo deben incluir un segundo
argumento del tipo int para que el compilador las
distinga, aunque no se haga uso (parámetro mudo):
Fecha operator++(int);
para
f1++ el compilador llama a
f1.operator++(0)
O bien,
friend Fecha operator++(Fecha &, int);
para f1++ el compilador llama a
operator++(f1,0).
Operadores de extracción e inserción
de flujo >> y <<
Las sentencias de flujos se utilizan para entradas y
salidas. Los flujos no son parte de C++, pero se
implementan como clases en la biblioteca de C++.
En Color.h:
istream & operator>>(istream & ent, Color col);
En Color.cpp
istream & operator>> (istream & ent, Color col);
{
//leer el nombre del color en una variable string
// se debe usar #include <string.h>
// convertirlo a mayúsculas usando toupper()
// conversor de string a Color: asignar a col el valor de tipo Color
que corresponda al string de entrada;
// devolver ent;
};