• [^] # Re: C++ 2011 ?

    Posté par (site web personnel) . En réponse au journal Visiteurs en C++. Évalué à 6.

    struct Base {
     virtual void helloWorld() const;
    };
    struct Derived1 : Base {
     virtual void helloWold(); // 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 */
    };
    struct Derived2 : Base {
     void helloWorld() 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).