Should I provide defaults via member initialisation or a separate function? Is it better to initialise members with recommended defaults such as