Questions sur la POO (programmation orientée objet) - page 4

 
VOLDEMAR:

Veuillez expliquer les actions

à savoir

pourquoi le signe ( :) et qu'est-ce qu'on obtient avec ?

Il s'agit d'une telle initialisation.
 

Quelle est la différence ?

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:

Veuillez expliquer les actions

à savoir

pourquoi le signe ( :) et qu'est-ce qu'on obtient avec ?



suivi d'un deux-points suivi d'une liste d'initialisation
 
VOLDEMAR:

Quelle est la différence ?

и



Différence dans la capacité à gérer la durée de vie d'un objet
 
stringo:

La différence réside dans la possibilité de contrôler la durée de vie de l'objet.

Je comprends que dans le cas de new on peut supprimer l'objet à tout moment, mais si on ne le fait pas, l'objet ne sera supprimé que lorsque la fonction dans laquelle l'objet est appelé sortira, n'est-ce pas ?
 
hoz:

Je suppose que dans le cas de new, vous pouvez supprimer l'objet à tout moment, mais si vous ne le faites pas, l'objet ne sera supprimé que lorsque la fonction dans laquelle l'objet est appelé sortira, n'est-ce pas ?


Oui
 
VOLDEMAR:

Recommandez-nous quelques manuels, s'il vous plaît ... Le plus facile et le plus utile à votre avis ...

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

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

 
Comment hériter d'une seule méthode d'une classe ?
 
VOLDEMAR:
Comment hériter d'une seule méthode d'une classe ?
Pourquoi ?
 

Maintenant, j'ai redessiné ma classe

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);
  }

Et ajouté l'héritage ... (Je pense que je peux me tromper) de la classe vr_MarketInfo.

La classe vr_MarketInfo renvoie des informations sur le point, les chiffres pour le symbole et vérifie le lot pour les erreurs, et beaucoup d'autres choses dont j'ai besoin pour mon travail, y compris l'enregistrement dans Excel et sur le graphique.

Lorsqu'on utilise une méthode comme ci-dessus, une liste est donnée lorsqu'on travaille dans Primer.Primer.Primer()

Je voudrais faire quelque chose de plus abrégé...