AULA 6 - Programação II - Graduação

De IFSC
Revisão de 09h54min de 9 de agosto de 2017 por imported>Fargoud (Criou página com '=CONSTRUTORES= Atributos não podem ser explicitamente inicializados na declaração da classe – necessidade de métodos de inicialização dos valores dos atributos! Para...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

CONSTRUTORES

Atributos não podem ser explicitamente inicializados na declaração da classe – necessidade de métodos de inicialização dos valores dos atributos! Para automatizar este processo ⇒ Construtores.


Construtores – Funções-membro que têm o mesmo nome da classe e são executadas automaticamente e uma única vez! – quando um objeto é criado.

Sintaxe

class Nome_Classe
{   ...
    Nome_Classe(Lista_Argumentos_inicializ);
    ...
};

Exemplo:

 class Data
{ private:  int dia, mes, ano;
  public:
    int bissexto();  ...
    Data(int d, int m, int a); //protótipo do Construtor
    ...
};


Definição do Construtor

 Nome_Classe :: Nome_Classe(Lista_Argumentos_inicializ) 
{  ...
   CORPO DO CONSTRUTOR
   ...
 }

Exemplo:

 Data::Data(int d, int m, int a) // não há tipo de retorno!!
{ ValidaData(d,m,a); 
  //agora este método também pode ser private!!
}

Execução do Construtor

...
void main() // ou outra função, p.e., Button1Click()
{ 
   Data x(14,6,1992); //cria objeto e passa valores p/ Construtor
   x.ImprimeData();
   x.ImprimeSigno();
   x.ImprimeBissexto();
}