Qual'è la differenza tra queste due scritture?

[CODE] Prova::Prova (string a, string b):
nome(a), cognome (b) {;}

e

Prova::Prova (string a, string b){
nome=a;
cognome=b;
}
[\CODE]
Quale delle due è preferibile?