class cA;
class cB;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cA
{
//====================private:
//====================//===============//===============
cB *B;
//===============//===============void testfunc(void){::Print(__FUNCSIG__);}
//====================public:
//====================//===============//===============void test(void)
{
::Print(__FUNCSIG__);
if(::CheckPointer(::GetPointer(this.B))==POINTER_INVALID)return;
this.B.testfunc();// Здесь идет вызов private метода объекта B, что вроде как не должно быть возможным
}
//===============//===============void SetB(cB *const b){this.B=b;}
//===============//===============
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cB : public cA
{
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit()
{
//---
cA A;
cB B;
A.SetB(&B);
A.test();
//---return(INIT_SUCCEEDED);
}
铬。
和左边的蓝色。试试你的智能手机上的浏览器
在FireFox中仍然在顶部更新主题
还有左边的蓝色的
在Chrome中也是如此。我无法让自己自动看到这些蓝色/灰色的图标。而未读主题的黑体字让人印象深刻,我甚至还写了这篇文章。
一个关于AcePrim-Demo账户的有趣案例。
我们启动专家顾问
而我们尝试在任何一个bo-symbol(二元期权)上建仓。在终端的日志中,我们得到
'3182780': market sell 1.00 XAUUSDbo '3182780': failed market sell 1.00 XAUUSDbo [Invalid data]
在专家顾问的日志中,我们得到
我检查了一下,OrderCheck返回真。贸易会议是开放的等等。但是MT5以同样的方式警告手动和自动请求,给我retcode = 4。为什么会出现这样的情况,终端说一切正常,但你试了一下却什么也没发生?没有任何要求,我怎么知道它不会打开?那么这第四个返回代码是什么呢?
GetLastError()返回
误入歧途。
4756
发送交易请求失败
复制一切,没有任何问题。
下午好。
难道只有我一个人认为这样的代码不应该被编译(应该有一个私有成员访问错误)?
SD说没关系,它可以做到这一点...
下午好。
难道只有我一个人认为这样的代码不应该被编译(应该有一个私有成员访问错误)?
SD说没关系,它可以做到这一点...
根据MQL规则,一个类的实例可以自由访问另一个实例的私有字段和方法,如果它与第一个实例属于同一类别。由于cB是继承自cA,cB就是cA,因此cA可以访问cB实例的任何私有方法和字段,无论它在哪里声明。
根据MQL规则,一个类的实例可以自由访问另一个实例的私有字段和方法,如果它与第一个实例属于同一类别。由于cB是继承自cA,cB就是cA,因此cA可以访问cB实例的任何私有方法和字段,无论它在哪里声明。
谢谢你。我在文档中没有看到这一点。你能指出来吗?
谢谢你。我在文档中没有遇到过这个功能。你能指出来吗?
这在C++ 中也是如此(MQL是按照C++的形象和特征建立的)。正如他们所说,C++的隐私是在类层面,而不是在对象层面。否则,你将无法制作,例如,一个没有为所有私有字段提供特殊getter方法的复制构造器。
这在C++ 中是一样的