MP>подозреваю, что ": a(aa), b(bb)"
MP>тупо инициализирует при вызове консруктора локальную переменную "а" значением агрумента "аа"
MP>и, соответственно "b" — значением "bb".
да, правильно. это наз. "initialization lists".
более подробно можете изучить их, к примеру,
здесь.