Ça compile parfaitement, mais Derived::traiter_truc() ne redéfinit pas Base::traiter_truc(), et si on active pas les warnings qui vont bien dans son compilateur (qui sont chiants car parfois, c'est voulu), on s'en rend compte qu'à l'exécution… ou pas.
Si Derived::traiter_truc était marqué en override, il y aurai une erreur de compilation.
[^] # Re: C++ 2011 ?
Posté par Batchyx . En réponse au journal Visiteurs en C++. Évalué à 4.
C'est la même chose qu'en Java: ça sert à détecter les surcharges involontaires. Par exemple
Ça compile parfaitement, mais
Derived::traiter_truc()ne redéfinit pasBase::traiter_truc(), et si on active pas les warnings qui vont bien dans son compilateur (qui sont chiants car parfois, c'est voulu), on s'en rend compte qu'à l'exécution… ou pas.Si
Derived::traiter_trucétait marqué en override, il y aurai une erreur de compilation.