Il existe une astuce pour obtenir la valeur d'un élément d'une classe supérieure
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment obtenir la valeur de a (de la classe A) tout en étant à l'intérieur de B ?
La classe B ne sait rien de la classe A.
Vous devez hériter. Vous pouvez alors appeler la méthode de la classe mère à partir de la classe enfant. Mieux utiliser l'opérateur de résolution de contexte : :
В MQL5 существует несколько вариантов вызова индикаторов, и осуществляются они в основном при помощи функций IndicatorCreate() и iCustom(). Причем эти функции лишь возвращают хендл индикатора, и дальнейшая работа с индикаторами ведется именно через него. Так что же такое хендл? Как работать с функциями IndicatorCreate() и iCustom()? И как...
Existe-t-il une astuce pour obtenir la valeur d'un élément d'une classe supérieure ?
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment puis-je obtenir la valeur de a (de la classe A) à l'intérieur de B ?
class A;
class B
{
public:
int x;
int GetA(A &reference) { return reference.a;} };
//+------------------------------------------------------------------+class A
{
public:
int a;
B b; };
//+------------------------------------------------------------------+
A obj;
voidOnStart()
{
obj.a = 10;
int result = obj.b.GetA(obj);
printf("result = %d",result);
}
//+------------------------------------------------------------------+
Faux. Vous passez un pointeur à un objet dans une méthode. Mon point de vue est le suivant :
En d'autres termes, vous pouvez prendre un pointeur vers B à partir de A et travailler avec lui, et B a accès à A.
J'ai vu votre code
Mais ce n'est pas la première fois que l'auteur de la question "manie la feuille de vigne" en toute simplicité - j'ai déjà répondu à cette question presque sur OOP une fois )))).
en fait, il avait juste besoin d'une description de l'attaquant de classe A, mais il est le seul à le savoir)))
HH : Je passe une référence à un objet ; vous pouvez faire ce que vous voulez avec cette référence, mais ce genre de code n'a aucun sens en général. Habituellement, comme vous l'avez écrit dans votre exemple, vous utilisez un pointeur de classe vers vous-même et vous l'utilisez ensuite de manière pratique.
J'ai écrit un simple indicateur gratuit, mais je ne peux pas ajouter de description. Je le remplis en respectant toutes les exigences, j'appuie sur "enregistrer" - tout est OK, pas d'erreur. Mais après le chargement de la page, il n'y a pas de description...
J'obtiens toujours des valeurs non normalisées après normalisation - MQL5
Le plus défavorable 1e-05, Que faire ?
DoubleToString(....) vous aidera.
Existe-t-il une astuce pour obtenir la valeur d'un élément d'une classe supérieure ?
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment puis-je obtenir la valeur de a (de la classe A) à partir de B ?
Il existe une astuce pour obtenir la valeur d'un élément d'une classe supérieure
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment obtenir la valeur de a (de la classe A) tout en étant à l'intérieur de B ?
Existe-t-il une astuce pour obtenir la valeur d'un élément d'une classe supérieure ?
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment puis-je obtenir la valeur de a (de la classe A) à partir de B ?
Veuillez me conseiller :
Pouvez-vous me dire comment résoudre le problème de l'appel de l'indicateur sur MT5 windows 10 X64, je procède de cette façon :
#resource "\Indicators\\\\NMonIndicateur.ex5"
handle=iCustom(NULL,0,"::Indicateurs\\\\MyIndicator") ;
Il fonctionnait sans #resource, puis il n'a commencé à fonctionner qu'avec #resource, maintenant rien ne fonctionne, l'erreur 4804 est générée.
J'obtiens toujours des valeurs non normalisées après normalisation - MQL5
Le plus défavorable 1e-05, Que faire ?
Essayez ça :
Existe-t-il une astuce pour obtenir la valeur d'un élément d'une classe supérieure ?
Code :
Un élément de la classe B est à l'intérieur de la classe A. Comment puis-je obtenir la valeur de a (de la classe A) à l'intérieur de B ?
2020.01.20 20:30:05.534 tst (EURUSD,H1) résultat = 10
2020.01.20 20:30:05.534 tst (EURUSD,H1) résultat = 10
Faux. Vous passez un pointeur à un objet dans une méthode. Mon point de vue est le suivant :
En d'autres termes, vous pouvez obtenir de A un pointeur vers B et travailler avec lui, alors que B a accès à A.Faux. Vous passez un pointeur à un objet dans une méthode. Mon point de vue est le suivant :
En d'autres termes, vous pouvez prendre un pointeur vers B à partir de A et travailler avec lui, et B a accès à A.J'ai vu votre code
Mais ce n'est pas la première fois que l'auteur de la question "manie la feuille de vigne" en toute simplicité - j'ai déjà répondu à cette question presque sur OOP une fois )))).
en fait, il avait juste besoin d'une description de l'attaquant de classe A, mais il est le seul à le savoir)))
HH : Je passe une référence à un objet ; vous pouvez faire ce que vous voulez avec cette référence, mais ce genre de code n'a aucun sens en général. Habituellement, comme vous l'avez écrit dans votre exemple, vous utilisez un pointeur de classe vers vous-même et vous l'utilisez ensuite de manière pratique.