dans les dernières semaines, quelque chose est en écoute mon cerveau sur le virtuel et la remplacer.
J'ai appris que quand vous ne l'héritage avec fonction virtuelle, vous devez ajouter virtual
pour permettre au compilateur de savoir à la recherche pour le droit de la fonction.
Par la suite, j'ai appris aussi qu'en c++ 11, il est un nouveau mot - clé override. Maintenant, je suis un peu confus; Dois-je utiliser à la fois virtuel et remplacer des mots clés dans mon programme, ou il est préférable de n'utiliser que l'un d'entre eux?
Pour m'expliquer des exemples de code de ce que je veux dire:
class Base
{
public:
virtual void print() const = 0;
virtual void printthat() const = 0;
virtual void printit() const = 0;
};
class inhert : public Base
{
public:
// only virtual keyword for overriding.
virtual void print() const {}
// only override keyword for overriding.
void printthat() const override {}
// using both virtual and override keywords for overriding.
virtual void printit() const override {}
};
Quelle est la meilleure méthode?