in Java ogni oggetto è un puntatore quindi va sempre allocato con new, in C++ devi specificare esplicitamente quando un oggetto sarà un riferimento e non un valore:

codice:
Oggetto o(parametri);//per valore
codice:
Oggetto* o;// puntatore per riferimento
...
o = new Oggetto(parametri);