Classe para manipulação de números complexos
Publicado por Humberto Henrique Campos Pinheiro 07/02/2006
[ Hits: 12.719 ]
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;
light_konsole - konsole de ultima hora
Calcula valor da prestação atrasada
Operações de Soma, Subtração, Multiplicação e Divisão
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica









