_InputArray::_InputArray(const Mat& m) : flags(MAT), obj((void*)&m) {}
Lo de arriba quiere decir que a las variables flags y obj le pasas MAT y (void*)&m respectivamente.
Efectivamente es una forma de asignar valores a las variables miembro que pertenece a la misma clase. flags(MAT) es equivalente a flags = MAT; pero esta ultima iría dentro de las {}.
Edit ah y una cosa mas XD.
Solo se usa en los constructores o eso creo