It is separating the derived class constructor from the base class constructor and from member initializations. The general format is :
DerivedClass( derived_args, base_arguments )
: BaseClass( base_arguments )
, m_Member1( initial_value1 )
, m_Member2( initial_value2 )
{
}
I recommend reading this tutorial at the C++ reference site:
Classes (I) - C++ Tutorials[
^]