Erreurs, bugs, questions - page 1678
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Mais comme le montre l'exemple ci-dessus, on ne peut pas faire d'analogie. Vous devez spécifier final même pour les méthodes privées.
Étrange. Pour un héritage public, l'accès maximal doit être protégé, et non privé.
Et la fonction dans l'exemple est surchargée exactement ?
Étrange. Pour un héritage public, l'accès maximal doit être protégé, et non privé.
Et dans l'exemple, la fonction est-elle exactement surchargée ?
Bien. Je viens de le découvrir moi-même.
Si vous le faites
BASE() {Func();} // вместо void Init() {Func();} Вызов Base.Init() - убрать конечно.
vous pouvez vérifier vous-même après l'avoir exécuté et voir si vous savez ce qui est censé se passer.
Dans le journal du terminal, j'obtiens
se rendre maladroitement à l'endroit spécifié dans le code source. Il serait pratique de pouvoir double-cliquer sur un tel message dans le journal du terminal et d'accéder directement à la ligne spécifiée.
Si quelqu'un le soutient, qu'il s'exprime.
Le classique est une interface dans une classe de base avec une redéfinition dans les descendants :
Le cas classique est celui où des méthodes virtuelles protégées/publiques sont surchargées. Mais pour les particuliers, ce n'est pas si évident (en termes d'application). Merci de votre réponse.
Oui, j'ai déjà supprimé mon exemple sans voir votre réponse, c'était vraiment malheureux.
Mises à jour. Je me suis moi-même embrouillé dans les bases pendant que je vous répondais. Tout était correct dans cet exemple, je n'aurais pas dû le supprimer. Le même exemple encore avec un exemple d'utilisation :
Mises à jour. J'étais moi-même confus par les bases pendant que je vous répondais. Tout était correct dans cet exemple, je n'aurais pas dû le supprimer. Encore une fois avec un exemple d'utilisation :
Le compilateur n'en fait qu'à sa tête.
Ce n'est pas un bon exemple, car on ne voit l'interface CAnimal utilisée nulle part. Deux descendants ont également été rendus publics. Je comprends le sujet, donc c'est bon.
Exemple normal. Un animal abstrait émet un certain son, mais non défini, de sorte que nous ne pouvons pas appeler la méthode Speak() sur lui ; elle ne peut être appelée que sur un animal d'une espèce spécifique. Par conséquent, nous déclarons une méthode virtuelle fermée dans une classe de base, et la surcharge dans les descendants et l'ouvre.
Exemple normal. Un animal abstrait émet un son quelconque, mais non défini, de sorte que nous ne pouvons pas appeler la méthode Speak() sur lui ; elle ne peut être appelée que sur un animal d'une espèce spécifique. Par conséquent, nous déclarons une méthode virtuelle fermée dans une classe de base, et la surcharge dans les descendants et l'ouvre.
Il serait bon de le rendre privé dans les descendants aussi. Pour une meilleure compréhension. Ce n'est pas le sujet, en somme.