¿Para qué sirve la lista de variables miembro después de los dos puntos en un constructor?
Estoy leyendo este código fuente abierto de C ++ y llegué a un constructor pero no lo entiendo (básicamente porque no sé C ++: P)
Entiendo C y Java muy bien.
TransparentObject::TransparentObject( int w, int x, int y, int z ) :
_someMethod( 0 ),
_someOtherMethod( 0 ),
_someOtherOtherMethod( 0 ),
_someMethodX( 0 )
{
int bla;
int bla;
}
Hasta donde puedo "deducir" La primera línea solo declara el nombre del constructor, "::" suena como "me pertenece" a mí. Y el código entre {} es el propio cuerpo del constructor.
"Pienso" lo que está después de los parámetros y los primeros "{" son como métodos parámetros predeterminados o algo así, pero no encuentro una explicación razonable en la web. La mayoría de los constructores de C ++ que encontré en los ejemplos son casi idénticos a los de Java.
Estoy justo en mis suposiciones? "::" es como pertenece a, y la lista después de params y body son como "args predeterminados" o algo así?
ACTUALIZAR: Gracias por las respuestas. ¿Se les puede llamar métodos? (Supongo que no) y cuál es la diferencia de llamarlos dentro del cuerpo del constructor