Lar Finanças Pessoais Como o polimorfismo funciona em C ++ - dummies

Como o polimorfismo funciona em C ++ - dummies

Vídeo: Tutorial Herança, Sobrecarga e Polimorfismo em C++ pt-BR 2025

Vídeo: Tutorial Herança, Sobrecarga e Polimorfismo em C++ pt-BR 2025
Anonim

Como um straddler de cerca, o C ++ suporta ligação inicial e adiantada. Qualquer linguagem de programação dada pode suportar ligação inicial ou antecipada com base nos caprichos de seus desenvolvedores. Linguagens mais antigas, como C, tendem a suportar apenas a ligação inicial. Linguagens recentes, como Java e C #, suportam apenas ligações tardias.

Você pode se surpreender que o padrão para C ++ seja vinculativo inicial. A saída do programa OverloadOverride da maneira como ele aparece é a seguinte:

Estamos em Estudante:: calctação Estamos em Estudante:: calctação Pressione Enter para continuar …

O motivo é simples, se um pouco datado. Primeiro, o C ++ tem que atuar tanto como o C quanto possível por padrão para manter a compatibilidade ascendente com o antecessor. Em segundo lugar, o polimorfismo adiciona uma pequena quantidade de sobrecarga a cada chamada de função tanto em termos de armazenamento de dados quanto de código necessário para executar a chamada.

Os fundadores do C ++ estavam preocupados com o fato de que qualquer sobrecarga adicional seria usada como motivo para não adotar o C ++ como a linguagem de escolha do sistema, de modo que eles tornaram o vínculo inicial mais eficiente ao padrão.

Para tornar um membro função polimórfico, o programador deve sinalizar a função com a palavra-chave C ++ virtual, como mostrado na seguinte modificação na declaração no OverloadOveride < programa: classe Estudante {público: virtual void calcTuition () {cout << "estamos em Student:: calcTuition" << endl;}};

A palavra-chave

virtual que informa C ++ que calcTuition () é uma função de membro polimórfico. Ou seja, declarar que calcTuition () virtual significa que as chamadas para ele serão vinculadas tarde se houver alguma dúvida quanto ao tipo de tempo de execução do objeto com o qual calcTuition () é chamado.

Executando o programa OverloadOveride com calcTuition () declarado virtual gera a seguinte saída: Estamos no Student:: calcTuition Estamos em GraduateStudent:: calcTuition Press Digite para continuar …

Se você estiver confortável com o depurador que vem com o seu ambiente C ++, você realmente deve passar por um único passo neste exemplo. É tão legal ver o programa em uma única etapa em Student:: calcTuition () pela primeira vez que fn () é chamado, mas em GraduateStudent:: calcTuition () na segunda chamada. Você não pode realmente apreciar o polimorfismo até que você o tenha tentado.

Você precisa declarar a função virtual somente na classe base. A "virtualidade" é carregada automaticamente para a subclasse. Às vezes, no entanto, os programadores seguem o padrão de codificação de declarar a função virtual em todos os lugares (praticamente).

Como o polimorfismo funciona em C ++ - dummies

Escolha dos editores

Como executar o teste beta para uma aplicação iOS - manequins

Como executar o teste beta para uma aplicação iOS - manequins

Depois de executar o seu aplicativo em alguns dispositivos e está confiante de que está funcionando da maneira que é suposto, considere levá-lo às mãos de alguns testadores beta. O teste beta permite que você receba comentários de usuários reais e repare todos os erros antes que o público em geral os veja. Você pode se surpreender ...

Como publicar no Amazon Appstore para Android - dummies

Como publicar no Amazon Appstore para Android - dummies

Publicação para o Amazon Appstore para Android é semelhante à publicação na Google Play Store: você cria uma conta e, em seguida, talvez seja necessário pagar uma taxa de desenvolvedor. Ao contrário do Google Play Store, os aplicativos devem ser revistos no Amazon Appstore para Android, portanto, planeje alguns dias entre o dia em que você enviar ...

Como preparar ativos gráficos em seu aplicativo Android para publicar na Play Store - Dummies

Como preparar ativos gráficos em seu aplicativo Android para publicar na Play Store - Dummies

Quando você publica um aplicativo Android na Play Store, você interage com o Console do desenvolvedor do Google Play. O passo essencial nesta interação é o passo em que você carrega o arquivo APK do seu aplicativo. É o passo essencial, mas não é o único passo. Você também deve usar a Consola do desenvolvedor da Play Store ...

Escolha dos editores

As Leis de Minecraft Redstone - dummies

As Leis de Minecraft Redstone - dummies

Cada mecanismo Redstone da Minecraft possui um conjunto diferente de propriedades que determinam como ele atua. Você deve entender as relações entre suas propriedades. Depois de trabalhar com Redstone por um tempo, a forma e a função das suas ferramentas podem se tornar bastante intuitivas. Até então, você pode usar essas informações para descobrir quais opções são ...

Minecraft Pocket Edition Guia de Sobrevivência - dummies

Minecraft Pocket Edition Guia de Sobrevivência - dummies

Ao contrário da versão bastante complicada para PC do Minecraft, Pocket Edition (PE) de A Minecraft tem uma série de etapas mais direta para alcançar seu ponto final, o Nether Spire. Para sobreviver ao PE Minecraft, um jogador precisa seguir a série de passos descritos abaixo. Punch madeira e construir um abrigo. Todo o Minecraft ...

Minecraft Para Dummies Cheat Sheet - dummies

Minecraft Para Dummies Cheat Sheet - dummies

Minecraft requer um jogador para reunir recursos para sobreviver, construir, criar, e avance no jogo. Devido aos diferentes ambientes encontrados no Minecraft, um jogador precisa usar diferentes estratégias para reunir recursos eficientemente nas três principais áreas do jogo - Overland, the Mines e the Nether. Uma vez que estes ...

Escolha dos editores

Como criar mensagens de e-mail de impressão em série no Word 2013 - dummies

Como criar mensagens de e-mail de impressão em série no Word 2013 - dummies

Palavra 2013 permite que você expire mensagens de e-mail personalizadas usando a opção E-Mail para mala direta. Esta opção funciona apenas quando você configura o programa Microsoft Outlook no seu computador. Depois disso, você inicia o documento principal para sua fusão de e-mail obedecendo a estas etapas:

Como criar múltiplas colunas em um documento do Word 2007 - dummies

Como criar múltiplas colunas em um documento do Word 2007 - dummies

Para converter seu padrão single- (ou não-) coluna do documento do Word 2007 em um com várias colunas, basta escolher o formato da coluna que deseja no menu Colunas. Instantaneamente, seu documento é transformado em uma maravilha multicolora!

Como criar tabelas rápidas nas tabelas do Word 2008 para Mac - dummies

Como criar tabelas rápidas nas tabelas do Word 2008 para Mac - dummies

Ajudam você a organizar idéias ou dados que seriam aborrecedores e difíceis de compreender em forma de parágrafo regular. Com o Word 2008 para Mac, você pode facilmente criar tabelas - às vezes chamadas de grades - em qualquer lugar em seus documentos. A maneira mais fácil de criar tabelas é com um dos melhores recursos novos ...