Partilhar via


Objetos de tipo de classe

Um objeto é uma região com tipos de armazenamento no ambiente de execução; para além de reter informações de estado, ele também define o comportamento.Objetos do tipo de classe são definidos usando nome da classe.Considere o fragmento de código a seguir:

// class_type_objects.cpp
class Account
{
public:
   Account()   // Default constructor
   {
   }
   Account( double );   // Construct from double.
   double& Deposit( double );
   double& Withdraw( double, int );
};

int main()
{
   Account CheckingAccount;   // Define object of class type.
}

O código anterior declara uma classe (um novo tipo) chamada Account.Em seguida, usa esse tipo de novo para definir um objeto chamado CheckingAccount.

As operações a seguir são definidas pelo C++ para objetos do tipo de classe:

  • Atribuição.Pode ser atribuído a um objeto para outro.O comportamento padrão para esta operação é uma cópia de memberwise.Esse comportamento pode ser modificado, fornecendo um operador de atribuição definida pelo usuário.

  • Inicialização usando construtores de cópia.

A seguir é exemplos de inicialização usando construtores de cópia definida pelo usuário:

  • Inicialização explícita de um objeto.Por exemplo:

    Point myPoint = thatPoint;
    

    declara myPoint como um objeto do tipo Point e o inicializa com o valor de thatPoint.

  • Inicialização causada por passar como um argumento.Objetos podem ser passados para funções por valor ou por referência.Se eles são passados por valor, uma cópia de cada objeto é passada para a função.O método padrão para a criação da cópia é copy memberwise; Isso pode ser modificado, fornecendo um construtor de cópia definido pelo usuário (um construtor que leva a um único argumento do tipo "referência à classe").

  • Inicialização causada pela inicialização de valores retornados de funções.Objetos podem ser retornados de funções por valor ou por referência.O método padrão para retornar um objeto por valor é uma cópia de memberwise; Isso pode ser modificado, fornecendo um construtor de cópia definido pelo usuário.Um objeto retornado por referência (usando o ponteiro ou tipos de referência) não deve ser automático e local para a função chamada.Se for, o objeto referenciado pelo valor de retorno será ficaram fora do escopo antes que ele pode ser usado.

Sobrecarga nos operadores explica como redefinir a outros operadores em uma base de classe a classe.

Consulte também

Referência

Visão geral de Classes