Classe para manipulação de números complexos
Publicado por Humberto Henrique Campos Pinheiro 07/02/2006
[ Hits: 12.652 ]
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;
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









