Partilhar via


Funções de membro especiais (C++)

O C++ define vários tipos de funções que podem ser declaradas somente como membros da classe — essas são chamadas de “funções de membro especiais”. Essas funções afetam a maneira como os objetos de uma classe específica são criados, destruídos, copiados e convertidos em outros tipos de objetos. Outra propriedade importante de muitas dessas funções é que podem ser chamados implicitamente (pelo compilador).

As funções de membro especiais descritas nesta seção são as seguintes:

Os itens na lista acima podem ser definidos pelo usuário para cada classe.

As funções de membro especiais obedecem às mesmas regras de acesso que outras funções de membro. As regras de acesso são descritas em Controle de acesso de membros. A tabela a seguir resume como as funções de membro e friend se comportam.

Resumo do comportamento da função

Tipo de função

A função é herdada da classe base?

A função pode ser virtual?

A função pode retornar um valor?

A função é um membro ou friend?

O compilador produzirá a função se o usuário não o fizer?

Construtor

Não

Não

Não

Membro

Sim

Construtor de cópia

Não

Não

Não

Membro

Sim

Destruidor

Não

Sim

Não

Membro

Sim

Conversão

Sim

Sim

Não

Membro

Não

Atribuição (operator=)

Não

Sim

Sim

Membro

Sim

new

Sim

Não

void*

Membro estático

Não

excluir

Sim

Não

void

Membro estático

Não

Outras funções de membro

Sim

Sim

Sim

Membro

Não

Funções friend

Não

Não

Sim

Friend

Não

Consulte também

Outros recursos

Referência de linguagem C++