_______________________________________________________________________________________
6.6 Cree una clase llamada Complejo para realizar aritmética con números complejos. Escriba un programa para evaluar sus clases. Los números complejos tienen la forma:
parte real + parte imaginaria*i
donde i es raíz cuadrada de -1
Utilice variables double para representar datos de tipo private de una clase. Proporcione un constructor que permita inicializar un objeto de esta clase cuando se declare. El constructor debe contener valores predeterminados en caso de que no se proporcionen inicializadores. Proporcione funciones miembro de tipo para cada uno de los siguientes:
a) Suma de dos números Complejos: las partes reales se suman juntas y las parte imaginarias se suman juntas.
b) Resta de dos números complejos: la parte real del operando derecho se resta a la parte real del operando izquierdo, y la parte imaginaria del operando derecho se resta a la parte imaginaria del operando izquierdo.
c) Impresión de números complejos de la forma (a,b) en donde a es la parte real y b es la parte imaginaria.
_______________________________________________________________________________________
Solución:
#include <iostream> using namespace::std; // Se define la clase Complex class Complex { // Abre la clase complex public: Complex( float = 0, float = 0); // Constructor void Recibe(); float Real(); float Imaginario(); void Suma(float, float, float, float); void Resta(float, float, float, float); void Impresion() /* Esta funcion miembro, por ser la mas simple, se definira aqui mismo, solo como un ejemplo de que esto puede hacerse */ { // Abre la funcion miembro Impresion cout << "( " << R << " , " << I <<" )" << endl; } // Cierra la funcion miembro Impresion private: float R; float I; }; // Cierra la clase complex ////////////////////////////////////////////////////////////// // CONSTRUCTOR ///////////////////////////////////////////////////////////////// Complex::Complex( float a, float b) { // Abre constructor R = a; I = a; } // Cierra constructor ///////////////////////////////////////////////////////////////// // FUNCION MIEBRO RECIBE ///////////////////////////////////////////////////////////////// void Complex::Recibe() { // Abre funcion miembro Recibe cout << "\nIntroduzca la parte real del numero: " << endl; cin >> R; cout << "\nIntroduzca la parte compleja del numero: " << endl; cin >> I; } // Cierra funcion miembro Recibe /////////////////////////////////////////////////////////////////// // FUNCION MIEMBRO REAL ////////////////////////////////////////////////////////////////// float Complex::Real() { return R; } ///////////////////////////////////////////////////////////////// // FUNCION MIEMBRO IMAGINARIO //////////////////////////////////////////////////////////////// float Complex::Imaginario() { return I; } //////////////////////////////////////////////////////////////// // FUNCION MIEMBRO SUMA /////////////////////////////////////////////////////////////// void Complex::Suma( float a, float b, float c, float d) { // Abre funcion miembro Suma cout <<"\n La suma de los numeros es: ( " << a + c << " , " << b + d <<" )" << endl; } // Cierra funcion miembro Suma ////////////////////////////////////////////////////////////// // FUNCION MIEMBRO RESTA ////////////////////////////////////////////////////////////// void Complex::Resta( float a, float b, float c, float d) { // Abre funcion miembro Resta cout <<"\n La resta de los numeros es: ( " << a - c << " , " << b - d <<" )" << endl; } // Cierra funcion miembro Resta /////////////////////////////////////////////////////////////////// // MAIN ///////////////////////////////////////////////////////////////// int main() { // Abre main Complex s; Complex x; Complex y; x.Recibe(); y.Recibe(); s.Suma(x.Real(), x.Imaginario(), y.Real(), y.Imaginario()); s.Resta(x.Real(), x.Imaginario(), y.Real(), y.Imaginario()); return 0; } // Cierra main
_______________________________________________________________________________________
La siguiente es una ejecución del programa
Introduzca la parte real del numero: 4 Introduzca la parte compleja del numero: 3 Introduzca la parte real del numero: 4 Introduzca la parte compleja del numero: 3 La suma de los numeros es: ( 8 , 6 ) La resta de los numeros es: ( 0 , 0 )