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

 
1つのクラスから1つのメソッドだけを継承する方法は?
 
VOLDEMAR:
1つのクラスから1つのメソッドだけを継承する方法は?
なぜ?
 

今、私はクラスを再設計しました

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 クラスは、Pointに関する情報 、シンボルのDigitsを 返し、ロットにエラーがないかをチェックし、Excelやチャート上でのロギングなど、仕事で必要な多くのことを行います。

上記のようなメソッドを使用した場合、Primer.Primer.Primer()で作業すると、リストが表示されます。

もっと省略されたものをやりたいのですが...。