
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
Vorrei collegare il modulo VS a .dll a MT5 in modo semplice )))) - Voglio avvolgere i gestori del clic del pulsante in una classe e chiamarli attraversando un array di puntatori di funzioni di gestione, e voglio avere nel codice principale di EA la possibilità di scrivere gli stessi nomi di funzioni come in VS, cioè button2_Click() ....button2_Click()
SZY: Questo è un problemaEOP))))
Senza offesa, ma mi ricorda molto:
- Creare strutture automatiche all'interno di una OOP dinamica non ha senso
Quindi impilare oggetti: myclass obj; non ha senso? Allora sono un handicapper :)
Quindi, impilare oggetti: myclass obj; non ha senso? Quindi, sono un artigiano :)
Ci sono tutti i tipi di compiti. Si può praticare la retorica per molto tempo, se non si descrivono compiti specifici, si può inventare qualsiasi cosa...
Sì, gli oggetti "impilabili" (automatico che intendi?) sono fondamentalmente senza senso. A mio modesto parere, che non è assolutamente la verità e certamente non nell'ultima istanza...Volete un oggetto che non soddisfa la funzione principale dell'OOP - la proprietà del polimorfismo? Non assegnerete a tale variabile nessun oggetto con proprietà diverse a seconda del contenuto. Non sarete affatto in grado di mappare un altro oggetto su questa "variabile" nella lista. Perché avete bisogno di oggetti, non è meglio usare le strutture? Forse perché le strutture µl non possono restituire riferimenti a se stesse... E con loro inizia una roba oscura con costante creazione-distruzione-auto-copiatura ecc.
Come vivere senza polimorfismo ... E se dico che possiamo fare a meno del polimorfismo nel >90% dei casi? Prendete il "principio di inversione di dipendenza SOLID", se siamo proger decenti, dovremmo creare astrazioni, metodi virtuali ovunque (il che comporta alti costi generali, ovviamente). Gli esperti di C# scriverebbero qualcosa come questo https://pro-prof.com/forums/topic/dependency-inversion-principle. Oppure potremmo prendere dei modelli e scrivere qualcosa come:
public:
void activate();
void deactivate();
};
template <typename T>
class Button {
Button(T& switchable)
: _switchable(&switchable) {
}
void toggle() {
if (_buttonIsInOnPosition) {
_switchable->deactivate();
_buttonIsInOnPosition = false;
} else {
_switchable->activate();
_buttonIsInOnPosition = true;
}
}
private:
bool _buttonIsInOnPosition{false};
T* _switchable;
}
int main() {
Lamp l;
Button<Lamp> b(l)
b.toggle();
}
Button è anche indipendente dai dettagli, senza tutto il polimorfismo e le interfacce. Il polimorfismo ha la sua nicchia, ma è molto più ristretta di quanto si dica.
ZS: beh, nessuno lo vieta:
ZS: beh, nessuno lo vieta:
Nessuno vieta ogni sorta di stampelle e schematismi, ma perché? Per esempio: sarà divertente quando il vostro auto-oggetto si autodistruggerà improvvisamente quando meno ve lo aspettate, vero?
Nessuno vieta di inventare stampelle e schematismi, ma perché? Per esempio: sarà divertente quando il vostro auto-oggetto si distruggerà improvvisamente quando meno ve lo aspettate, vero?
Perché un oggetto stack è molto più veloce di un oggetto in un heap(allocazione di memoria). Autodistruzione? - Questo è qualcosa di nuovo :). Ma a volte è necessario, naturalmente - il numero di oggetti è noto solo a tempo di esecuzione, per esempio.
ZS: si può stare più comodi altrimenti, è una questione personale.
Il punto dell'OOP non è usare il metodo scelto per premere il pulsante, che si può altrettanto bene implementare attraverso template o puntatori di funzione, ma solo applicare a qualsiasi oggetto del sistema metodi come list, che permettono di auto-organizzarsi in strutture di lista e creare selezioni arbitrarie al momento giusto senza stampelle come CArrayObj, ecc. e il fastidio associato, overloading di metodi come Select, Query, Compare, Sort, ecc. (e anche Clone/Copy, quando ogni oggetto può decidere senza la vostra partecipazione se copiarlo o meno in una lista/array, e se copiarlo, come).
Ho scritto - il polimorfismo ha la sua nicchia, non lo discuto. Ma la pratica dimostra (la mia personalmente, almeno) che non è così significativa. Sono molto più propenso a risolvere i problemi con i modelli.