Qual é a diferença entre função virtual e substituição de função?
Qual é a diferença entre função virtual e substituição de função?

Vídeo: Qual é a diferença entre função virtual e substituição de função?

Vídeo: Qual é a diferença entre função virtual e substituição de função?
Vídeo: PRONOMES: FUNÇÕES, TIPOS E USOS | QUER QUE DESENHE? | DESCOMPLICA 2024, Abril
Anonim

Funções virtuais não pode ser estático e também não pode ser um amigo função de outra classe. Eles são sempre definidos na classe base e anulado na classe derivada. Não é obrigatório para a classe derivada sobrepor (ou redefinir o função virtual ), nesse caso, a versão de classe base de função é usado.

Além disso, qual é a diferença entre função virtual e função virtual pura?

O principal diferença entre ' função virtual 'e' função virtual pura ' é aquele ' função virtual 'tem sua definição no a classe base e também as classes derivadas herdadas a redefinem. o função virtual pura não tem definição no classe base, e todas as classes derivadas herdadas têm que redefini-la.

Posteriormente, a questão é: o que substitui função em C ++? Substituição de função C ++ . Se a classe derivada define o mesmo função conforme definido em sua classe base, é conhecido como substituição de função em C ++. É usado para obter polimorfismo de tempo de execução. Ele permite que você forneça uma implementação específica do função que já é fornecido por sua classe base.

Da mesma forma, as pessoas perguntam, por que usamos funções virtuais?

Funções Virtuais estão usado para suportar "Polimorfismo em tempo de execução". Quando o função virtual é chamado usando um ponteiro de classe base, o compilador decide em tempo de execução qual versão do função ou seja, a versão da Classe Base ou a versão da Classe Derivada substituída deve ser chamada. Isso é chamado de polimorfismo em tempo de execução.

Você pode substituir uma função não virtual em C ++?

Em c ++, todos os membros da classe funções estão não - virtual por padrão. Elas posso ser feito virtual usando o virtual palavra-chave no função assinatura. Como afirmado acima E se a função da classe base é feita virtual então o função de classe derivada ou filha função com o mesmo nome pode substituir a classe base função.

Recomendado: