Classe para Número

9 views
Skip to first unread message

Lucas Nunes

unread,
Feb 10, 2012, 8:20:16 AM2/10/12
to ccppbrasil
Olá!

Estou com uma dúvida.
É a seguinte:
há algum problema em definir uma classe para descrever números ou ângulos?
Por exemplo, algo tipo:

template <typename T>
class TNumber
{
    private:
        T m_value;

    // Depois disso, o construtor, funções tipo sqrt, pow e etc
    // seno, cos, tg
    // sobrecarga de operadores e etc
};

O que vocês acham?

Eu vi isso em um código-fonte de um programa, achei meio estranho esse tipo definição,
mas, ao mesmo tempo, facilitava o trabalho com angulos pois o programa trava sozinho se o angulo era em radianos ou graus.

Bruno Sanches

unread,
Feb 10, 2012, 8:24:07 AM2/10/12
to ccppb...@googlegroups.com
O motor 3d Ogre possui classes para ângulos, uma para radianos e outra para ângulos em Graus.

Simplificam muito o uso de ângulos e encapsulam o problema de ter que ficar convertendo de um para outro:

T+

Bruno Sanches
========================
http://www.pontov.com.br


2012/2/10 Lucas Nunes <lucas...@gmail.com>
--
Antes de enviar um e-mail para o grupo leia:
http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar
--~--~---------~--~----~---------------------------------~----------~--~----~
[&] Colabore com a Pesquisa de Preferência de Conteúdo
para Eventos do Grupo C & C++ Brasil:
http://www.surveymonkey.com/s/GBBGTXN
------~----~-------~---~---~---~---~----------------~------------~---------~
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
Para mais opções, visite http://groups.google.com/group/ccppbrasil
--~--~---------~--~----~--~-~--~---~----~-----------------~--~----------~
Emprego & carreira: vag...@ccppbrasil.org
http://groups.google.com/group/dev-guys?hl=en

Fabio Mazzarino

unread,
Feb 10, 2012, 8:42:44 AM2/10/12
to ccppb...@googlegroups.com
Lucas:

Para programas que lidam com dinheiro o ideal é fazer uma classe para lidar separadamente com os centavos direitinho, o float ou double não é apropriado por conta de falhas no arredondamento.

Fabio

Reuben Morais

unread,
Feb 10, 2012, 9:59:34 AM2/10/12
to ccppb...@googlegroups.com
2012/2/10 Fabio Mazzarino <fabio.m...@gmail.com>:

> Lucas:
>
> Para programas que lidam com dinheiro o ideal é fazer uma classe para lidar
> separadamente com os centavos direitinho, o float ou double não é apropriado
> por conta de falhas no arredondamento.
>

Float e double são feitos para representar valores contínuos. Para
algo discreto como dinheiro um tipo inteiro é o mais apropriado.

-- reuben

Lucas Nunes

unread,
Feb 10, 2012, 10:49:02 AM2/10/12
to ccppb...@googlegroups.com
Bom, então parece que não é tão mal fazer isso.
--
Aproveitando, já que minha classe vai ter somente um int (por exemplo) então
qual é o melhor?

void func(const Number& number)
ou
void func(Number number)

?

Eu sei que se for para int, a segunda opção é melhor.
Mas e no caso dessa classe?


Reply all
Reply to author
Forward
0 new messages