1
resposta

Cast usando referência

Porque o professor usou uma referência na hora de fazer o cast? se ele usasse só o tipo iria ter o mesmo resultado?

1 resposta

Olá, João!

Na aula que você mencionou, o professor utilizou uma referência na hora de fazer o cast porque ele queria tratar a variável umaOutraConta, que é uma conta-corrente, como se fosse uma conta.

Em C++, quando falamos de herança, não conseguimos ter sobrecarga de funções. Por isso, para chamar um método específico da classe derivada ou da classe base, precisamos garantir que estamos trabalhando com um tipo específico. Nesse caso, o professor fez o cast de umaOutraConta para uma referência para Conta, ao invés de ser uma conta-corrente.

Dessa forma, o depósito funciona e chama a função correta.

Por exemplo, se tivermos o seguinte código:

ContaCorrente umaOutraConta;
(Conta&) umaOutraConta += 300;

O operador += será chamado corretamente para a classe Conta.

Espero ter ajudado e 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