Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
L'operatore new crea un'istanza della classe e un costruttore viene chiamato insieme ad esso. È scritto nella sintassi, quindi non si può chiamare in altro modo.
Ho proceduto da questo esempio:
In parole povere, qui non ci sono parentesi (chiamata al costruttore). È possibile che mi manchi ancora qualcosa.Questo codice non è quasi diverso dall'ereditarietà multipla.
Infatti, la classe C_C ha accesso ai dati C_A e C_B attraverso puntatori appropriati.Mi sono basato su questo esempio:
Qui, grosso modo, non ci sono parentesi (chiamate al costruttore). È possibile che io non capisca ancora qualcosa.Perché io, non è per me, è per la lavanderia centrale, non ho usato le parentesi :o)
Il mio compilatore non si lamenta delle parentesi mancanti...
Comunque, è sorta improvvisamente una domanda: qual è il modo giusto? O non fa differenza se ci sono le parentesi o no?
Il mio compilatore non si lamenta delle parentesi mancanti...
Comunque, è sorta improvvisamente una domanda: qual è il modo giusto? O non fa differenza se ci sono le parentesi o no?
Se funziona in entrambi i modi, è piuttosto una questione di unificazione della sintassi. La cosa principale è che non influisce sulla velocità.
ZS E funziona? Per essere onesto non ho controllato, scrivo sempre con le parentesi.
Se funziona in entrambi i modi, è più una questione di unificazione della sintassi. La cosa principale è non influenzare la velocità.
ZS Funziona? Per essere onesto non ho controllato, scrivo sempre con le parentesi.
Non ho letto la descrizione della creazione di oggetti di classe dinamicamente in MQL5, ma in C++ si può fare senza parentesi (viene chiamato il costruttore standard) e con parentesi (il costruttore viene chiamato a seconda dei parametri tra parentesi). Esempio:
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);
In mql5 non si possono ancora passare parametri al costruttore.
Non ho letto la descrizione della creazione di oggetti di classe dinamicamente in MQL5, ma in C++ si può fare senza parentesi (viene chiamato il costruttore standard) e con parentesi (il costruttore viene chiamato a seconda dei parametri tra parentesi). Esempio:
Capito, grazie per la spiegazione semplice e diretta. Si scopre che le parentesi sono per i parametri possibili.
E la descrizione di come creare oggetti dinamici di classe in MQL5 è molto concisa:
Riferimento MQL5 / Fondamenti del linguaggio / Operatori / Operatore di creazione di un oggetto nuovo
Riferimento MQL5 / Fondamenti del linguaggio / Tipi di dati / Puntatori a oggetti