Classe para manipulação de números complexos
Publicado por Humberto Henrique Campos Pinheiro 07/02/2006
[ Hits: 12.630 ]
Fiz essa classe bem simples para estudar o uso de sobrecarga de operadores, já que estou na transição c -> c++.
/******* CABEÇALHO *******************/ //interface da classe complex - números complexos #ifndef COMPLEX_H //evita múltiplas inclusões #define COMPLEX_H class Complex{ private: double real; double img; public: //construtor Complex(); //imprime void imprime(); //configura os valores do número void set(int,int); //sobrecarga de operador + Complex operator+(Complex); //sobrecarga do operador - Complex operator-(Complex); }; #endif /*********Implementação**************/ //Implementação da classe Complex #include "complex.h" #include <iostream> using namespace std; //construtor Complex::Complex() { real=0; img=0; } //imprime o número complexo void Complex::imprime() //sugestãop: sobrecarregar operador << e >> { cout << real << " + " << img << "i" << endl; //cout << "(" << real << "," << img << ")" <<endl; } //configura o número complexo void Complex::set(int rl, int im) { real=rl; img=im; } //sobrecarga do operador + Complex Complex::operator+(Complex b) { Complex c; c.real=real + b.real; c.img=img + b.img; return c; } //sobrecarga do operador - Complex Complex::operator-(Complex b) { Complex c; c.real=real - b.real; c.img=img - b.img; return c;
Resolvendo Equações de 1º e 2º grau
Mostrando as palavras digitadas ao contrário!
CALCULADORA DO IMC (VERSÃO C++)
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (6)
É normal não gostar de KDE? (6)
Impressora epson l6270 não funciona em Linux mint (0)