Versión 1.0 — Implementación personalizada en C++
Este proyecto implementa una clase Complex escrita completamente en C++, diseñada para manejar números complejos mediante sobrecarga de operadores, plantillas y funciones amigas.
- Representación de números complejos en forma cartesiana (x + yi)
- Sobrecarga completa de operadores aritméticos
+,-,*,/ - Sobrecarga de operadores de comparación
==,!= - Soporte para operaciones mixtas entre
doubleyComplexmediante plantillas - Sobrecarga de los operadores de flujo
<<y>> - Funciones auxiliares:
norm()→ módulo del número complejoconjugate()→ devuelve el conjugadonormsq()→ cuadrado del módulo
complex-numbers-cpp/
├── include/
│ └── Complex.h # Declaración de la clase Complex
├── src/
│ └── Complex.cpp # Implementación de los métodos
├── main.cpp # Ejemplo de uso
├── .gitignore # Archivos y carpetas ignoradas por Git
└── README.md # Documentación del proyecto
#include "Complex.h"
#include <iostream>
using namespace std;
int main() {
Complex a(2, 3);
Complex b(1, 1);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "a + b = " << a + b << endl;
cout << "a * b = " << a * b << endl;
cout << "a / b = " << a / b << endl;
}Salida esperada:
a = (2+3i)
b = (1+1i)
a + b = (3+4i)
a * b = (-1+5i)
a / b = (2.5+0.5i)
En terminal (usando g++):
g++ -std=c++17 src/Complex.cpp main.cpp -I include -o programaEjecuta luego:
./programaEste proyecto se distribuye bajo la Licencia MIT, por lo que puede ser utilizado y modificado libremente con fines académicos o personales.
anfestra
Desarrollo de proyectos en C++ orientados al aprendizaje y documentación técnica.