È pericoloso utilizzare sia virtual
e override
su una funzione in C++? Ti apre per ambiguità con sovraccarico?Ci sono sottigliezze nell'uso di entrambe le parole chiave virtuali e di override in C++ 11?
Ovviamente virtual
deve essere utilizzato nella classe base e sarebbe stupido non utilizzare override
nella classe derivata, ma è in realtà problematico utilizzare virtual
conoverride
nella classe derivata?
Cercando di determinare se questo è un problema di stile o correttezza.
Esempio:
class Widget {
virtual void transmogrify() = 0;
}
class Gadget : public Widget {
virtual void transmogrify() override {}
}
Potreste trovare la risposta qui [\ 'ignorare \ 'in C++ 11] (http://stackoverflow.com/questions/13880205/override-in-c11) – MicroVirus
Vedere anche http://en.cppreference.com/w/cpp/language/override – MicroVirus
Il sovraccarico non funziona vieni dentro Entrambe le parole chiave si applicano solo al superamento. – EJP