•
Classes e Const
Funções
que retornam valores de classes podem ser definidas como const.
Isso é uma boa pratica de programação e pode ser escrita
da seguinte forma:
int getvalor() const;
Exemplo
#include <iostream>
class teste {
private:
int valor;
public:
int getvalor() const;
};
int teste::getvalor()
const
{
return valor;
}
int main()
{
teste e;
std::cout << e.getvalor();
std::cin;
return
0;
}
Objetos também podem
ser constantes. Alguns objetos necessitam ser modificáveis, outros não.
Você pode usar const para especificar que um objeto não é
modificavel.
const
Time hora( 12, 0, 0 ); // inicia um objeto constante
Um objeto const
não pode ser modifcado, por isso deve ser corretamente iniciado.
Membros privates também podem ser Const. E para modifica-los, usamos
o construtor.
#include <iostream>
class add {
public:
add( int c, int i );
void imprimir() const;
private:
int contador;
const
int incrementar; // membro const
};
add::add( int c,
int i ) : incrementar(
i ) // inicializador para o membro
{
contador = c;
}
void add::imprimir()
const
{
std::cout << "contador = " << contador
<< std::endl;
std::cout << "incrementar = " << incrementar
<< std::endl;
}
int main()
{
const add valores( 10,
20 ); // esses valores nunca serao alterados, a
classe é const
valores.imprimir();
return
0;
}
Nesta linha:
add::add( int c, int i )
: incrementar( i ) // inicializador
para o membro
Vemos
o inicializador de membro, e membros de classes constantes devem ser inicializados
com essa sintaxe.
Perguntas??? Email
|