Inicialização usando funções de membro especial
Esta seção descreve o uso de funções de membro especial de inicialização.Ele se expande em discussões a seguir de inicialização:
Inicializando agregados que descreve como inicializar objetos dos tipos de classe simples e matrizes de tipos de nonclass.Esses tipos de classe simples não podem ter membros de particulares ou protegidos, e eles não podem ter classes base.
Construtores, que explica como inicializar objetos do tipo de classe usando funções de construtor especial.
O método padrão de inicialização é realizar uma cópia bit a bit do inicializador para o objeto a ser inicializado.Essa técnica é aplicável somente a:
Objetos dos tipos internos.Por exemplo:
int i = 100;
Ponteiros.Por exemplo:
int i; int *pi = &i;
Referências.Por exemplo:
String sFileName( "FILE.DAT" ); String &rs = sFileName;
Objetos do tipo de classe, onde a classe tem nenhum membro particular ou protegido, sem funções virtuais e não há classes base.Por exemplo:
// spec1_special_member_functions.cpp // compile with: /LD struct Point { int x, y; }; Point pt = { 10, 20 }; // Static storage class only
Classes podem especificar mais refinada de inicialização por meio da definição de funções do construtor.(Para obter mais informações sobre a declaração de tais funções, consulte construtores.) Se um objeto for de um tipo de classe que possui um construtor, o objeto deve ser inicializado ou deve haver um construtor padrão.Objetos que não são inicializados especificamente chamam o construtor da classe padrão.