Buenas Jona . Se usa el const por que es un metodo que no modifica ningun atributo y por que un metodo que no se declara como constante se trata como uno que puede modificar los atributos del objeto , y el compilador no dejara que un objeto constate lo utilice.
Eso es algo que puedes poner en los constructores. Lo que vaya después de ':', son llamadas a los constructores de laa clases base y de los campos del objeto. Por ejemplo: