While reading some boost library source code I encountered this part
template< class Value = double >
struct rk4_coefficients_a3 : boost::array< Value , 3 >
{
    rk4_coefficients_a3( void )
        {
    (*this)[0] = static_cast<Value>(0);
    (*this)[1] = static_cast<Value>(0);
    (*this)[2] = static_cast<Value>(1);
        }
};
What does the colon (:) mean after struct name?
 
     
    