Sobrecarga de operadores

Tus tipos con + - * < == << [] y (): vectores 2D, comparaciones con <=>, funtores, fracciones, dinero exacto y física de videojuego.

12 aulas · 10 horas de práctica · en el navegador, sin instalar nada

Temario

  1. Por qué: a + b con vectores 2D — Tu primer operador: enseñarle a C++ qué quiere decir sumar dos vectores. Con +, * y -, la física de un juego se escribe como en el pizarrón.
  2. Operadores como miembro o libres — El mismo + adentro del struct, el += que sí cambia al de la izquierda, el k * v que solo puede ser libre y el menos que da vuelta un vector.
  3. Comparaciones y <=> — Enseñarle a tu tipo qué quiere decir "llegó antes": el < a mano, los otros cinco a partir de él, y el <=> de C++20 que los escribe todos. El podio se ordena solo.
  4. operator<< para imprimir — Que `cout << messi` imprima lo que vos querés: el operator<< que devuelve el stream, el que ve lo privado con friend, el que reusa a otro, y su hermano >> para leer.
  5. operator[] — tablero[fila][col] con tu propia clase: el [] que devuelve una referencia para poder marcar, la versión const para mirar, y corchetes con una casilla o con un nombre.
  6. operator(): funtores — Objetos que se usan como funciones: las promos del restaurante se configuran al crearlas, recuerdan lo que hicieron y deciden qué mesa espera.
  7. ++ prefijo y sufijo — El ++ de tus tipos: el prefijo que avanza y se devuelve a sí mismo, el sufijo que avanza y devuelve cómo era antes, y la receta para no escribir la lógica dos veces.
  8. Conversiones implícitas y explicit — Cuando C++ convierte solo, un 1.5 pensado en kilómetros se vuelve 1,5 metros sin que nadie se entere. explicit, los operadores de conversión y el operator bool que no se deja sumar.
  9. Una clase Fraccion completa — Repartir la pizza sin decimales: sumar, multiplicar y restar fracciones, normalizar para que el int no desborde, comparar en cruz y mostrarlas con <<.
  10. Una clase Dinero sin errores de redondeo — La plata no se guarda en double: 0,10 sumado diez veces no da 1. Centavos enteros, y los operadores para sumar el pozo, contar fichas, mostrar $8.60 y repartir sin perder un centavo.
  11. Taller: física 2D mínima — El jueguito: una pelota con gravedad que mantenés en el aire con la cabeza. Distancias, direcciones, el producto punto y rebotes de verdad, todo con tu Vector2D.
  12. Taller: matrices y rotaciones — La estación espacial: un molino que gira, una nave que apunta y acelera hacia donde mira, y disparos en esa dirección. Todo sale de una matriz de 2 × 2 y dos operadores.

Es parte de