Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
L'opérateur new crée une instance de la classe et un constructeur est appelé en conjonction avec lui. Il est écrit dans la syntaxe, il n'y a donc pas d'autre moyen de l'appeler.
J'ai procédé à partir de cet exemple :
En gros, il n'y a pas de parenthèses (appel au constructeur) ici. Il est possible que je manque encore quelque chose.Ce code n'est pratiquement pas différent de l'héritage multiple.
En fait, la classe C_C a accès aux données de C_A et C_B par le biais de pointeurs appropriés.Je me suis basé sur cet exemple :
Ici, en gros, il n'y a pas de parenthèses (appels de constructeurs). Il est possible que je ne comprenne pas encore quelque chose.Pourquoi moi, ce n'est pas pour moi, c'est pour la laverie centrale, je n'ai pas utilisé de parenthèses :o)
Mon compilateur ne se plaint pas des parenthèses manquantes...
Quoi qu'il en soit, une question s'est soudain posée : quelle est la bonne méthode ? Ou bien cela ne fait aucune différence qu'il y ait des crochets ou non ?
Mon compilateur ne se plaint pas des parenthèses manquantes...
Quoi qu'il en soit, une question s'est soudain posée : quelle est la bonne méthode ? Ou bien cela ne fait aucune différence qu'il y ait des crochets ou non ?
Si cela fonctionne dans les deux sens, il s'agit plutôt d'une question d'unification de la syntaxe. L'essentiel est que cela n'affecte pas la vitesse.
ZS Et cela fonctionne-t-il ? Pour être honnête, je n'ai pas vérifié, j'écris toujours avec des parenthèses.
Si cela fonctionne dans les deux sens, c'est plutôt une question d'unification de la syntaxe. L'essentiel est de ne pas affecter la vitesse.
ZS Cela fonctionne-t-il ? Pour être honnête, je n'ai pas vérifié, j'écris toujours avec des parenthèses.
Je n'ai pas lu la description de la création dynamique d'objets de classe dans MQL5, mais en C++ vous pouvez le faire sans crochets (le constructeur standard est appelé) et avec crochets (le constructeur est appelé en fonction des paramètres entre crochets). Exemple :
class CExample
{
int param;
public:
CExample();
CExample(int x);
~CExample();
}
CExample::CExample(int x)
{
param = x;
}
//..........вызов..............
//..где-то в тексте программы..
CExample *ex1 = new CExample; //создание с конструктором CExample();
CExample *ex1 = new CExample(); //создание с конструктором CExample();
CExample *ex1 = new CExample(value); //создание с конструктором CExample(int x);
Dans mql5, aucun paramètre ne peut encore être passé au constructeur.
Je n'ai pas lu la description de la création dynamique d'objets de classe dans MQL5, mais en C++ vous pouvez le faire sans crochets (le constructeur standard est appelé) et avec crochets (le constructeur est appelé en fonction des paramètres entre crochets). Exemple :
Compris, merci pour cette explication simple et directe. Il s'avère que les parenthèses sont destinées aux paramètres éventuels.
Et la description de la manière de créer des objets de classe dynamiques dans MQL5 est très concise :
Référence MQL5 / Notions de base du langage / Opérateurs / Opérateur de création d'objet new
Référence MQL5 / Notions de base du langage / Types de données / Pointeurs d'objets