Sobrecarga de operadores para números complejos

Sobrecarga de operadores para números complejos
Información sobre la plantilla
DesarrolladorMicrosoft Corporation.
Modelo de desarrolloC#
Lanzamiento inicial2005
LicenciaComercial.
Sitio web
http://www.microsoft.com/net

Sobrecarga de operadores para números complejos. En este artículo se muestra cómo utilizar la sobrecarga de operadores para crear una clase de números complejos en el lenguaje de programación C#.

Características

Este ejemplo muestra cómo utilizar la sobrecarga de operadores para crear una clase de números complejos Complex que define la suma compleja. El programa muestra las partes real e imaginaria de los números y el resultado de la suma mediante un método sustituto del método ToString.

Ejemplo

public struct Complex {

   public int real;
   public int imaginary;
   public Complex(int real, int imaginary)  //constructor
   {
       this.real = real;
       this.imaginary = imaginary;
   }
   // Declarando cual operador se va a sobrecargar (+),
   // los tipos de datos que van a ser agregados (2 objetos complejos),
   // y devuelven el tipo de datos complex
   public static Complex operator +(Complex c1, Complex c2)
   {
       return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
   }
   // sobre escribiendo el método ToString() para mostrar un número complejo en el formato tradicional:
   public override string ToString()
   {
       return (System.String.Format("{0} + {1}i", real, imaginary));
   }

}

class TestComplex {

   static void Main()
   {
       Complex num1 = new Complex(2, 3);
       Complex num2 = new Complex(3, 4);

       // Sumar 2 objetos complejos a través del operador (+) sobrecargado
       Complex sum = num1 + num2;
       // Imprimiendo el número y la suma usando el método ToString:
       System.Console.WriteLine("First complex number:  {0}", num1);
       System.Console.WriteLine("Second complex number: {0}", num2);
       System.Console.WriteLine("The sum of the two numbers: {0}", sum);
   }

}

Resultados

First complex number: 2 + 3i Second complex number: 3 + 4i The sum of the two numbers: 5 + 7i

Fuente