Classe para manipulação de números complexos
Publicado por Humberto Henrique Campos Pinheiro 07/02/2006
[ Hits: 12.778 ]
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;
Calculo de fatorial em C++ com o Qt Creator
Algoritmo de ordenação: Selection Sort
Jogo do adivinha para descontrair..
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Instalação e Configuração do Void com Cinnamon
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (0)
Criei um app de escrita acadêmica para brasileiros! (4)









