Crie uma classe que represente uma pessoa, e sobrecarregue o para que as informações de um objeto da classe sejam impressas.
Passo 1
E aí, beleza?
A questão pede pra gente desenvolver uma classe com um sobrecarregado. Esse operador é baseado na classe padrão , e por isso a sobrecarga dele é um pouco diferente, como vamos ver.
Mas vamos começar escrevendo o cabeçalho. Vamos inserir a biblioteca para nos ajudar.
Passo 2
Vamos desenvolver a classe .
Em escopo privado vamos declarar três atributos básicos , e .
Para inicializar os atributos privados vamos desenvolver um método construtor. Lembre-se que o construtor é um método sem tipo com o mesmo nome da classe. O construtor vai receber como parâmetro os valores dos atributos.
Vamos desenvolver um método que imprime os atributos da classe. Esse método é útil pois será usado como parte da sobrecarga do operador.
Passo 3
O é um objeto da classe , e por isso o operador deve levar isto em consideração.
O processo da sobrecarga é:
No nosso caso, a classe é e o objeto vamos chamar de .
Dentro do método vamos nós escrevemos todos os que queremos que sejam executados quando a sobrecarga for utilizada.
Porém, a gente foi esperto e já escreveu tudo isso dentro do método , então é só executar esse método dentro da função de sobrecarga:
E pronto! Sobrecarga concluída.
Passo 4
Agora vamos testar o código
Criamos um objeto da classe chamado e usamos o construtor para inicializar o objeto.
Depois executamos o diretamente no objeto
Rodando o código o resultado é:
E é isso! Questão concluída.