Skip to content

anfestra/complex-numbers-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Complex Numbers in C++

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.


Características principales

  • 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 double y Complex mediante plantillas
  • Sobrecarga de los operadores de flujo << y >>
  • Funciones auxiliares:
    • norm() → módulo del número complejo
    • conjugate() → devuelve el conjugado
    • normsq() → cuadrado del módulo

Estructura del proyecto

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

Ejemplo de uso

#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)

Compilación

En terminal (usando g++):

g++ -std=c++17 src/Complex.cpp main.cpp -I include -o programa

Ejecuta luego:

./programa

Licencia

Este proyecto se distribuye bajo la Licencia MIT, por lo que puede ser utilizado y modificado libremente con fines académicos o personales.


Autor

anfestra
Desarrollo de proyectos en C++ orientados al aprendizaje y documentación técnica.

About

First implementation of my custom C++ class for complex number arithmetic.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages