Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Meine Herren, warum versuchen wir nicht, eine sachliche Diskussion zu führen? :)
Ein korrektes Blatt sollte keine explizite Implementierung einer neuen Klasse erfordern, um sie für eine beliebige Klasse zu verwenden.
Daher sollte sich die korrekte Implementierung auf Vorlagen stützen.
Um fair zu sein, bin ich mir nicht sicher, ob dies auf der vorgestellten Template-Ebene realisierbar ist.
Aber das ist eigentlich weit entfernt von den Problemen in dem Artikel.
Eine korrekte Liste sollte keine explizite Implementierung einer neuen Klasse erfordern, um sie für eine beliebige Klasse zu verwenden...
Bedingt, CList sollte verschiedene Arten von Knoten enthalten....
Warum eigentlich? ) Ein Container ist eine Menge von homogenen Objekten.
Die Unterschiedlichkeit der Objekte selbst kann durch Polymorphismus innerhalb der Objekte realisiert werden und hat nichts mit der Liste zu tun.
Warum? ) Ein Container ist eine Menge von homogenen Objekten.
Die Unterschiedlichkeit der Objekte selbst kann durch Polymorphismus innerhalb der Objekte realisiert werden und hat nichts mit der Liste zu tun.
Ein korrektes Blatt sollte keine explizite Implementierung einer neuen Klasse erfordern, um sie für eine beliebige Klasse zu verwenden.
Daher sollte eine korrekte Implementierung auf Vorlagen beruhen.
Um fair zu sein, bin ich mir nicht sicher, ob dies auf der vorgestellten Template-Ebene realisierbar ist.
Aber das ist eigentlich weit entfernt von den Problemen in dem Artikel.
Was TheXpert vorschlägt, scheint klar zu sein.
Wenn ich seine Idee richtig verstehe, sollten alle Methoden einer abstrakten Liste automatisch "ihren" Knoten erkennen (das ist Polymorphismus).
In dem Artikel gibt es zum Beispiel die Benutzerklassen CiSingleList (Abb.9), CDoubleList (Abb.11), CiUnrollDoubleList (Abb.12), CiCircleDoubleList (Abb.13).
Im Prinzip kann man sie alle in eine Klasse packen. Aber wir müssen jede Methode so kodieren, dass sie den Typ des Knotens erkennt, mit dem sie gerade zu tun hat. Und dafür wird auch eine Ressource benötigt... also ist nicht alles so eindeutig....
Es ist klar, dass eine bestimmte Liste homogene Knoten enthält. Was ich meinte, war, dass die Beziehungen zwischen den Knoten in dieser Liste unterschiedlich sein können, was für jede Art von Knoten einen anderen Listentyp erfordert. Wenn Sie dieselbe Listenklasse für Knoten verschiedener Typen erstellen könnten, wäre das großartig.... Ich persönlich habe es noch nicht ausprobiert..... Man muss über eine höhere Abstraktionsebene nachdenken.....
Was TheXpert vorschlägt, scheint klar zu sein.
Wenn ich seine Idee richtig verstehe, sollten alle Methoden einer abstrakten Liste automatisch "ihren" Knoten erkennen (das ist Polymorphismus).
In dem Artikel gibt es zum Beispiel die Benutzerklassen CiSingleList (Abb.9), CDoubleList (Abb.11), CiUnrollDoubleList (Abb.12), CiCircleDoubleList (Abb.13).
Im Prinzip kann man sie alle in eine Klasse packen. Aber wir müssen jede Methode so kodieren, dass sie den Typ des Knotens erkennt, mit dem sie gerade zu tun hat. Und das wird auch eine Ressource erfordern... also ist nicht alles so eindeutig...
Was gibt es zu kodieren?
Erste Klasse, zweites Quartal. Leider geht es nicht ohne einen Community-Vermittler, denn MQL5 hat eine extrem schwache Typkontrolle. Hätten wir aber eine ClassToString-Funktion wie EnumToString() zur Verfügung, könnte man alles viel eleganter und einfacher organisieren.