1) La differenza principale e' che in Java le funzioni fanno sempre parte di una classe e (tranne quelle statiche) lavorano su un oggetto che e' il parametro "implicito", esattamente come le funzioni membro di C++.
2) Perche C++ e' ibrido. Eredita la programmazione funzionale dal C e vi aggiunge le classi. In Java ci sono solo le classi. Il tuo programma _E'_ una classe.
Non esiste niente al di fuori delle classi.
Non nominare il nome delle classi invano...
Ehm... Sto esagerando...![]()