Lar Finanças Pessoais Por que você precisa de Construtores de Cópia em C ++ - dummies

Por que você precisa de Construtores de Cópia em C ++ - dummies

Vídeo: Programação de Computadores - Aula 21 - Construtores 2024

Vídeo: Programação de Computadores - Aula 21 - Construtores 2024
Anonim

O construtor é uma função especial que C ++ invoca automaticamente quando um objeto é criado para permitir que o objeto se inicialize. Existem duas variações particulares do construtor conhecido como cópia e mover construtores.

Um construtor de cópia é o construtor que o C ++ usa para fazer cópias de objetos. Ele carrega o nome X:: X (const X &), onde X é o nome da classe. Ou seja, é o construtor da classe X, que toma como argumento uma referência a um objeto da classe X . Isso parece realmente inútil, mas basta ter um minuto para explorar por que o C ++ precisa de tais beasties.

Pense por um momento sobre o que acontece quando você chama uma função como a seguinte:

void fn (Student fs) {// … mesmo cenário; argumento diferente …} int main (int argcs, char * pArgs []) {Student ms; fn (ms); retornar 0;}

Na chamada para fn (), C ++ passa uma cópia do objeto ms e não o próprio objeto.

Agora considere o que significa criar uma cópia de um objeto. Primeiro, é preciso um construtor para criar um objeto, até mesmo uma cópia de um objeto existente. C ++ poderia criar um construtor de cópia padrão que copia o objeto existente no novo objeto de um byte de cada vez.

Isso é o que as linguagens antigas como C fazem. Mas e se a classe não quiser uma cópia simples do objeto? E se algo mais for necessário? (Ignore o "porquê?" Por um bom tempo.) A classe precisa ser capaz de especificar exatamente como a cópia deve ser criada.

Assim, o C ++ usa um construtor de cópia no exemplo anterior para criar uma cópia do objeto ms na pilha durante a chamada da função fn (). Este construtor de cópia especial seria Student:: Student (Student &) - diga isso três vezes rapidamente.

Por que você precisa de Construtores de Cópia em C ++ - dummies

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 ...