Constructores por defecto
De cppreference.com
Un constructor por defecto es un constructor que se puede llamar sin argumentos (ya sea definido con una lista de parámetros vacía, o con argumentos por defecto proporcionados para cada parámetro). Un tipo con un constructor público por defecto es DefaultConstructible.
[editar] Sintaxis
nombre_de_clase ( ) ;
|
(1) | ||||||||
nombre_de_clase :: nombre_de_clase ( ) cuerpo
|
(2) | ||||||||
nombre_de_clase() = delete ;
|
(3) | (desde C++11) | |||||||
nombre_de_clase() = default ;
|
(4) | (desde C++11) | |||||||
nombre_de_clase :: nombre_de_clase ( ) = default ;
|
(5) | (desde C++11) | |||||||
Donde nombre_de_clase debe denominar la clase actual (o la instanciación actual de una plantilla de clase), o, cuando se declara en un ámbito de espacio de nombres o en una declaración friend
, debe ser un nombre de clase calificado.
[editar] Explicación
1) Declaración de un constructor por defecto dentro de una definición de clase.
2) Definición del constructor fuera la definición de la clase (la clase debe contener una declaración (1). Véase constructores y listas de inicializadores de miembros para más detalles acerca del cuerpo del constructor.
3) Constructor por defecto eliminado: si se selecciona por la resolución de sobrecarga el programa falla al compilar.
4) Constructor por defecto predeterminado: el compilador definirá el constructor por defecto implícito, aún si otros constructores están presentes.
5) Constructor por defecto predeterminado fuera de la definición de la clase (la clase debe contener una declaración (1). Tales constructores se tratan como proporcionados por el usuario (véase a continuación e inicialización de un valor).
Los constructores por defecto se llaman durante las inicializaciones por defecto y las inicializaciones por valor.