MQL5—类
类与架构的不同之处在于:
- 在声明中使用关键字类;
- 默认情况下,所有类成员都能通过独自通过指示符,除非另行表明的,架构里的数据成员都能通过默认类型,除非是另行标注的。
- 甚至在类中没有虚函数的情况下,类目标总是有一个虚函数图表,结构类没有虚函数;
- 新功能操作也能应用到类目标中,但不能应用到结构类中;
类只能从类中继承 ,结构也只能从架构中继承。
类和架构都有明确的构造函数和解构方法,如果构造函数定义明确,架构或类别变量的初始化 进行初始化序列是不可能的。
示例:
struct trade_settings
{
double take; // 利润固定价格值
double stop; // 受保护的止损价格值
uchar slippage; // 可接受的下降值
//--- 构造函数
trade_settings() { take=0.0; stop=0.0; slippage=5; }
//--- 析构函数
~trade_settings() { Print("This is the end"); }
};
//--- 编译器生成一个无法初始化的错误信息
trade_settings my_set={0.0,0.0,5};