
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
De plus, c'est une erreur - il existe un mot-clé "final" dans MQL5.
{
//--- class body
};
class CBar : public CFoo
{
//--- class body
};
Cela ne permettra pas à CBar de compiler parce que CFoo est final.
Vous avez tort ici, whroeder1.
Ne pas ajouter virtual dans la base vous fera perdre le polymorphisme - la méthode sera appelée statiquement et non dynamiquement au moment de l'exécution.
C'est la mise en garde mentionnée par Whroeder1.
De plus, c'est une erreur - il existe un mot-clé "final" dans MQL5.
1. Ce n'est pas seulement une mauvaise pratique, mais c'est requis dans chaque base (pas seulement dans CObject) si le polymorphisme est requis.
2. Cela change les choses - voir 1.
3. La finale existe.
Il existe également un mot-clé final dans MQL4, bien que la documentation ne le montre pas (à ma connaissance). Il est possible qu'il ait été mentionné dans une mise à jour de la compilation.
C'est exact !
C'était la version 1430 pour MQL5. Probablement à peu près au même moment pour MQL4 avec le compilateur commun.
Bonjour à tous,
Je travaille dans une classe exactement comme ce post, mais ma variable "score" est une méthode. Comment obtenir sa valeur ?
Voici le code du début de l'article :
C'est ce que j'essaie de faire :
La question est, comment utiliser getPrice() dans la méthode Compare() ?
MerciBonjour à tous,
Je travaille dans une classe exactement comme ce post, mais ma variable "score" est une méthode. Comment obtenir sa valeur ?
Voici le code du début de l'article :
Voici ce que j'essaie de faire :
La question est, comment utiliser getPrice() dans la méthode Compare() ?
MerciDéclarez votre méthode getPrice() avec le mot clé const.
Déclarez votre méthode getPrice() avec le mot clé const.
Salut @Alain Verleyen,
J'ai changé la méthode getPrice(), au lieu d'utiliser CopyClose() j'utilise CopyBuffer(). Cela ne change pas l'objectif principal.
Donc, si j'utilise le mot clé "const" dans la méthode getPrice(), j'obtiens l'erreur : "'CopyBuffer' - aucune des surcharges ne peut être appliquée à l'appel de fonction". Je pense que cela se produit parce que CopyBuffer n'est pas une méthode const, et il n'est pas possible d'appeler une méthode non const à l'intérieur d'une méthode const.