Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
class A;
class B
{
A* ptr;
int x;
public :
B( int mX,A* mPtr):ptr(mPtr),x(mX){}
voidPrint () { Alert ( "From B\na=" ,ptr.Get(), "\nx=" ,x);}
};
class A
{
int a;
B* b;
public :
A( int mA, int mB):a(mA),b( new B(mB,& this )){}
~A() {delete b;}
void PrintB() {b. Print ();}
void PrintA() { Alert ( "From A\na=" ,a);}
int Get() { return a;}
};
voidOnStart (){
A a( 8 , 10 );
a.PrintA();
a.PrintB();
}
В MQL5 существует несколько вариантов вызова индикаторов, и осуществляются они в основном при помощи функций IndicatorCreate() и iCustom(). Причем эти функции лишь возвращают хендл индикатора, и дальнейшая работа с индикаторами ведется именно через него. Так что же такое хендл? Как работать с функциями IndicatorCreate() и iCustom()? И как...
Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
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);
}
//+------------------------------------------------------------------+
Bu değil. Bir nesneye bir işaretçiyi bir yönteme geçiriyorsunuz. Benim anlamım şudur:
class A;
class B
{
A* ptr;
int x;
public :
B( int mX,A* mPtr):ptr(mPtr),x(mX){}
voidPrint () { Alert ( "From B\na=" ,ptr.Get(), "\nx=" ,x);}
};
class A
{
int a;
B b;
public :
A( int mA, int mB):a(mA),b(mB,& this ){}
void PrintB() {b. Print ();}
void PrintA() { Alert ( "From A\na=" ,a);}
int Get() { return a;}
B* GetB() { return &b;}
};
voidOnStart (){
A a( 8 , 10 );
B* b=a.GetB();
b. Print ();
}
Yani, A'dan B'ye bir işaretçi alabilir ve onunla çalışabilirsiniz, B'nin A'ya erişimi varken
Bu değil. Bir nesneye bir işaretçiyi bir yönteme geçiriyorsunuz. Benim anlamım şudur:
Yani, A'dan B'ye bir işaretçi alabilir ve onunla çalışabilirsiniz, B'nin A'ya erişimi varken
kodunu gördüm
ama sorgulayıcı ilk kez "incir yaprağı yontmak" değil, nerede olduğunu anlamıyorum - ona zaten soruyu neredeyse OOP'de bir kez cevapladım))))
prensipte, A sınıfının yalnızca ileriye dönük bir tanımına ihtiyaç duyuyordu ve orada bir kez daha yonttuğu şeyi, sadece bunu biliyor)))
Not: Bir nesneye bir bağlantı iletiyorum, gelecekte istediğinizi referans olarak yapabilirsiniz, ancak prensipte böyle bir kodda hiçbir anlam yoktur, genellikle, örneğinizde yazdığınız gibi, bir sınıf işaretçisi kullanırlar. kendileri ve sonra tüm bunları kullanmak uygundur
Basit bir ücretsiz gösterge yazdım, ancak bir açıklama ekleyemiyorum. Tüm gereksinimlere göre dolduruyorum, "kaydet" e basıyorum - her şey ipucu, hata yazmıyor. Ama sayfayı yükledikten sonra açıklama yok...
Normalleştirmeden sonra hala normalleştirilmemiş değerler alıyorum - MQL5
En olumsuz 1e-05, ne yapmalı?
DoubleToString (....) size yardımcı olacaktır.
Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
Lütfen bana söyle:
MT5 windows 10 X64'te göstergeyi çağırarak sorunu nasıl çözeceğimi söyle, bunu şu şekilde yapıyorum:
#resource "\\Göstergeler\\Göstergem.ex5"
handle=iCustom(NULL,0,"::Göstergeler\\Göstergem");
Eskiden #resource olmadan çalışıyordu, sonra #resource ile çalışmaya başladı, şimdi çalışmıyor, 4804 hatası yazıyor
Normalleştirmeden sonra hala normalleştirilmemiş değerler alıyorum - MQL5
En olumsuz 1e-05, Ne yapmalı?
dene:
Bir öğenin değerini daha yüksek bir sınıftan almanın bir hilesi var mı?
kod:
A sınıfı içinde B sınıfı bir öğe. B içindeyken (A sınıfından) a değerini nasıl elde edebilirsiniz?
2020.01.20 20:30:05,534 tst (EURUSD,H1) sonuç = 10
2020.01.20 20:30:05,534 tst (EURUSD,H1) sonuç = 10
Bu değil. Bir nesneye bir işaretçiyi bir yönteme geçiriyorsunuz. Benim anlamım şudur:
Yani, A'dan B'ye bir işaretçi alabilir ve onunla çalışabilirsiniz, B'nin A'ya erişimi varkenBu değil. Bir nesneye bir işaretçiyi bir yönteme geçiriyorsunuz. Benim anlamım şudur:
Yani, A'dan B'ye bir işaretçi alabilir ve onunla çalışabilirsiniz, B'nin A'ya erişimi varkenkodunu gördüm
ama sorgulayıcı ilk kez "incir yaprağı yontmak" değil, nerede olduğunu anlamıyorum - ona zaten soruyu neredeyse OOP'de bir kez cevapladım))))
prensipte, A sınıfının yalnızca ileriye dönük bir tanımına ihtiyaç duyuyordu ve orada bir kez daha yonttuğu şeyi, sadece bunu biliyor)))
Not: Bir nesneye bir bağlantı iletiyorum, gelecekte istediğinizi referans olarak yapabilirsiniz, ancak prensipte böyle bir kodda hiçbir anlam yoktur, genellikle, örneğinizde yazdığınız gibi, bir sınıf işaretçisi kullanırlar. kendileri ve sonra tüm bunları kullanmak uygundur