关于OOP(面向对象的编程)的问题 - 页 4

 
VOLDEMAR:

请解释这些行动

就是说

为什么要用符号(:),我们能得到什么?

这就是这样一个初始化。
 

有什么区别?

vr_trade trade;
//+------------------------------------------------------------------+
void OnTick()
  {
trade.Buy("EURUSD",0.01); // Пример открытия позиции возвращающей тиккет ордера.
  }
//+------------------------------------------------------------------+ 

и

vr_trade *trade;
//+------------------------------------------------------------------+
void OnInit()
{
trade = new vr_trade;
}
//+------------------------------------------------------------------+
void OnTick()
  {
trade.Buy("EURUSD",0.01); // Пример открытия позиции возвращающей тиккет ордера.
  }
//+------------------------------------------------------------------+ 
void OnDeinit(const int reason)
{
delete trade;
} 
 
VOLDEMAR:

请解释这些行动

就是说

为什么要用符号(:),我们能得到什么?



后面是冒号,后面是一个初始化列表
 
VOLDEMAR:

有什么区别?

и



能够管理一个物体的寿命 的差异
 
stringo:

区别在于能够控制对象的寿命

我理解在new的情况下,你可以在任何时候删除对象,但如果没有它,对象只有在调用对象的函数退出时才会被删除,对吗?
 
hoz:

我认为在new的情况下,你可以在任何时候删除该对象,但如果你不这样做,该对象只有在调用该对象的函数退出时才会被删除,对吗?


 
VOLDEMAR:

请推荐几本教科书 ...在您看来,最简单和最有用的是...

http://rutracker.org/forum/viewtopic.php?t=4039549

http://rutracker.org/forum/viewtopic.php?t=4639528

 
如何从一个类中只继承一个方法?
 
VOLDEMAR:
如何从一个类中只继承一个方法?
为什么?
 

现在我已经重新设计了我的班级

class vr_trade
  {
private:
   int               openorders(string sy,int typ,double lot,double price);
   string            tip(int typ);
   int               m_magic;
   int               m_slip;
public:
   int               Buy(string sy,double lot);
   int               Sel(string sy,double lot);
   int               BuyLimit(string sy,double lot,double price);
   int               SelLimit(string sy,double lot,double price);
   int               BuyStop(string sy,double lot,double price);
   int               SelStop(string sy,double lot,double price);
   void              MagSlip(int mag=-1,int slip=0);
   vr_MarketInfo    *Log;
                     vr_trade();
                    ~vr_trade();
  };
MqlTick st;
//+------------------------------------------------------------------+
vr_trade:: vr_trade()
  {
   Log=new vr_MarketInfo;
   MagSlip(-1,0);
  }

并增加了继承权...(我怀疑我可能是错的)来自vr_MarketInfo 类。

vr_MarketInfo 返回关于 的信息 ,符号的数字,并检查批次的错误,以及许多其他我需要的工作,包括在Excel和图表上的记录。

当使用上述方法时,在Primer.Primer.Primer()中工作时,会给出一个列表

我想做一些更简略的事情...