structBase{virtualvoidhelloWorld()const;};structDerived1:Base{virtualvoidhelloWold();// Ooops, j'ai oublié le const. Et ça compile sans problème./* Bon, le test échoue. Combien de temps va-t-il me falloir pour trouver pourquoi ma fonction n'est pas apellée */};structDerived2:Base{voidhelloWorld()override;// error: ‘void Derived2::helloWorld()’ marked override, but does not override/* Une erreur de compile, 5 secondes pour la corriger. */};
Très pratique aussi quand on fait du refactoring et que on renomme ou change les argument de helloWorld,
dans ce cas, on a des erreur de compile sur le code qui n'a pas encore été mis à jour (et c'est bien).
[^] # Re: C++ 2011 ?
Posté par Gof (site web personnel) . En réponse au journal Visiteurs en C++. Évalué à 6.
Très pratique aussi quand on fait du refactoring et que on renomme ou change les argument de helloWorld,
dans ce cas, on a des erreur de compile sur le code qui n'a pas encore été mis à jour (et c'est bien).