Classe para manipulação de números complexos
Publicado por Humberto Henrique Campos Pinheiro 07/02/2006
[ Hits: 12.800 ]
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;
Blackjack simples para estudo de iniciantes em C
lnx.c (programa em C, simples)
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Discos que não instalam o sistema por erro MBR/GPT no Linux
Hospedagem de Mangás com Kavita e Docker para Acesso Remoto via Tailscale
Aplicar tema e ícones do Ubuntu Cinnamon no Arch Linux sem AUR
youtube não está funcionando no linux mint (2)
Instalação do driver Epson L3150 (1)
Continuando meus tópicos anteriores (4)









