Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrique Barcelos

Const

Recommended Posts

Cá estou eu de novo, na minha longa jornada tentando aprender C++

 

Estou com uma dúvida sobre const

 

No caso, como já citei em outro tópico, fiz um trabalho para a aula de Programação de Computadores na faculdade que era a implementação de uma classe de números complexos fazendo overloading de operadores...

 

Recentemente, estudando sobre const, entendi que quando uma função retorna const, aquela variável, objeto, etc, não pode mais ter seu valor alterado...

 

Mas o overload do operador (-) é feito assim:

 

complexo complexo::operator -() const {
    return complexo(-r, -im);
}

Ela retornaria um objeto do tipo complexo, mas constante, certo??

 

Mas no código posso fazer diversas vezes:

 

a = -a;
a = -a;

Fiquei meio perdido com isso :s...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse const, mantém os membros da classe constantes. Por exemplo

 

class Teste
{
    void Method1() const
        { var = var + 1; } //erro... o método é const, não pode alterar membros.

    void Method2() const
        { return var; } //ok
};

Pelo menos pelo que eu me lembre, era isso.

Mas posso estar enganado.

Pesquisarei e mais tarde volto com uma resposta definitiva.

 

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.