En dehors des surcharges pour des applications numériques, je ne trouve pas que l'opérateur overloading soit trés propre
Et pour une classe string ou array par ex ? Avoir le '[]' ça t'aide pas ? Ou les "+" et "+=" pour concatener des strings ?
cout toto << " " << titi << " " << tata;
est moins lisible | agréable à relire
à mon sens que
printf("%s %f.02 %c",toto,titi,tata); ou System.our.println(toto+" "+titi.toString()+" "+tata.toString());
Oui mais note que le printf() est moin safe, parce qu'il n'y a pas de vérification sur le nombre ou le types des arguments passés après le string de controle (gcc -Wall aide un peu, mais en général non). Et le 2eme exemple que tu donnes utilise l'operateur overloading aussi, dans un certain sens :-).
[^] # Re: Surcharge d'opérateur
Posté par Guillaume Laurent . En réponse à la dépêche Critique de C# par James Gosling l'inventeur de Java. Évalué à 5.
Et pour une classe string ou array par ex ? Avoir le '[]' ça t'aide pas ? Ou les "+" et "+=" pour concatener des strings ?
cout toto << " " << titi << " " << tata;
est moins lisible | agréable à relire
à mon sens que
printf("%s %f.02 %c",toto,titi,tata); ou System.our.println(toto+" "+titi.toString()+" "+tata.toString());
Oui mais note que le printf() est moin safe, parce qu'il n'y a pas de vérification sur le nombre ou le types des arguments passés après le string de controle (gcc -Wall aide un peu, mais en général non). Et le 2eme exemple que tu donnes utilise l'operateur overloading aussi, dans un certain sens :-).