Sobrecarga de operadores para números complejos
|
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