1
resposta

Inicialização de classes

Bom dia,

Eu gostaria de tirar uma dúvida sobre quais são as possíveis inicializações de classes em C++.

No vídeo, o professor utiliza a seguinte sintaxe: Conta umaConta("123" , "Vinicius", "123.456.789-10");

Qual seria a diferença entre isso e a seguinte sintaxe : Conta umaConta = Conta("123" , "Vinicius", "123.456.789-10"); ?

Obrigado.

1 resposta

Olá Vinicius!

Ótima pergunta! Vou te explicar a diferença entre as duas sintaxes de inicialização de classes em C++.

Na primeira sintaxe que você mencionou, Conta umaConta("123", "Vinicius", "123.456.789-10"), estamos utilizando a inicialização direta. Nesse caso, estamos criando um objeto chamado umaConta e passando os valores "123", "Vinicius" e "123.456.789-10" diretamente para o construtor da classe Conta. Essa é uma forma mais curta e direta de inicializar o objeto.

Já na segunda sintaxe, Conta umaConta = Conta("123", "Vinicius", "123.456.789-10"), estamos utilizando a inicialização por cópia. Nesse caso, estamos criando um objeto temporário Conta("123", "Vinicius", "123.456.789-10") e, em seguida, copiando esse objeto para o objeto umaConta. Essa forma de inicialização é um pouco mais verbosa, mas pode ser útil em alguns casos, como quando precisamos fazer alguma modificação no objeto temporário antes de copiá-lo para o objeto final.

Ambas as formas de inicialização são válidas e funcionam corretamente. A escolha entre elas vai depender do seu estilo de programação e das necessidades do seu código.

Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, é só me perguntar. Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software