Uma das coisas mais importantes das classes são os construtores. Estes são métodos especiais que são executados automaticamente na criação do objeto.
Para dar à nossa classe um construtor, colocamos novamente o identificador da variável seguido de dois parêntesis ( ), tal e qual como numa função. Mas reparem que não colocamos nenhum tipo de dado anterior ao identificador, isto porque já se sabe que é o construtor só pelo identificador.
class Test{
public:
Test(){
cout << "Testado!" << endl;
}
};
Test test;
Assim, na criação do objeto "test" é automaticamente executado o construtor. Executando o programa teremos então o output:
A utilidade do construtor é muitas vezes inicializar os atributos do objeto, então também pode ter parâmetros:
class Pessoa{
public:
int idade;
string nome;
Pessoa(int i, string n){
idade = i;
nome = n;
}
};
Pessoa andre(17, "Andre");
Aqui, ao iniciar o objeto colocamos os argumentos 17 e "Andre", que correspondem à idade e nome. No construtor, correspondemos idade ao parâmetro i (17), e nome ao parâmetro n ("André").
Podemos verificar que estão atribuídos com sucesso:
cout << "Idade: " << andre.idade << endl;
cout << "Nome: " << andre.nome << endl;
Com output:
Referências