Lar Finanças Pessoais C ++ Conceito de Classe Abstrata - manequins

C ++ Conceito de Classe Abstrata - manequins

Vídeo: Programação Orientada a Objetos (POO) // Dicionário do Programador 2024

Vídeo: Programação Orientada a Objetos (POO) // Dicionário do Programador 2024
Anonim

Uma classe abstrata em C ++ é uma classe com uma ou mais funções virtuais puras. A função virtual pura é uma função de membro virtual marcada como sem implementação. Provavelmente não tem implementação porque nenhuma implementação é possível com a informação fornecida na classe, incluindo qualquer classe base.

Uma função virtual não-pura convencional, run-of-the-mill é conhecida como função de concreto (note que uma função concreta pode ser virtual - infelizmente, C ++ usa este termo para significar polimórfico.

A sintaxe para declarar uma função puramente virtual é demonstrada na seguinte classe Conta:

// Conta - esta classe é uma classe de classe abstrata Conta {público: Conta (não assinado accNo, double initialBalance = 0. 0); // acessar funções unsigned int accountNo (); double acntBalance (); static int noAccounts (); // operações de transação cancelar depósito (quantidade dupla); // o seguinte é uma pura função virtual retirada de vazio virtual (quantidade dupla) = 0; protegido: // mantenha contas em uma lista vinculada, portanto, não há limite // para o número de contas conta estática int; // número de contas conta assinadaNúmero; balanço duplo;};

O = 0 após a declaração de retirada () indica que o programador não pretende definir esta função. é um espaço reservado para as subclasses. As subclasses de Conta devem substituir esta função por uma função concreta. O programador deve fornecer uma implementação para cada função de membro não declarada pura virtual.

Alguns programadores pensam que esta notação é boba. Mas está aqui para ficar, então você só precisa aprender a viver com isso. Há uma razão, se não exatamente uma justificativa, para esta notação. Toda função virtual deve ter uma entrada em uma tabela especial.

Esta entrada contém o endereço da função. Presumivelmente, pelo menos ao mesmo tempo, a entrada para uma função virtual pura era 0. Em qualquer caso, é a sintaxe com a qual você está preso agora.

Uma classe abstrata não pode ser instanciada com um objeto; Ou seja, você não pode fazer um objeto fora de uma classe abstrata. Por exemplo, a seguinte declaração não é legal:

void fn () {// declara uma conta com 100 dolares Account acnt (1234, 100. 00); // isso não é legal. retirada (50); // o que você esperaria} // essa chamada para fazer?

Se a declaração fosse permitida, o objeto resultante seria incompleto, faltando em alguma capacidade. Por exemplo, o que a chamada anterior deve fazer? Lembre-se, não há conta:: retirada () .

As aulas abstratas servem como classes base para outras classes. Uma Conta contém todas as propriedades associadas a uma conta bancária genérica. Você pode criar outros tipos de contas bancárias ao herdar de Conta.

O termo técnico é instanciar . Você diz que a classe Conta não pode ser instanciada com um objeto ou um determinado objeto instancia a classe Economias .

C ++ Conceito de Classe Abstrata - manequins

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...