Die Basisklasse hat keinen Zugriff auf die Felder der Nachkommen.
Ja, aber ich habe es auf diese Weise besiegt:
class C_AO_Agent
{
public:
double c;
double f;
};
class C_AO
{
public:
double cB[];
C_AO_Agent *a;
virtualvoid Init() { }
};
class C_Agent : public C_AO_Agent
{
public:
double g;
class ad
{
};
};
class C_P : public C_AO
{
public:
void Init()
{
a = new C_Agent;
C_Agent *agent = (C_Agent*)a; // Приведение типов
agent.f = 5;
agent.g = 7; //теперь есть доступ к g!!!
agent.c = 8;
}
};
voidOnStart()
{
C_AO *ao;
ao = new C_P;
ao.Init();
//тут нам нужен доступ только к f и cPrint (ao.a.f);
Print (ao.a.c);
// Удаление объектовdelete ((C_Agent*)ao.a);
delete ao;
}
Dies ist eine funktionierende Version dessen, was erforderlich war.
Wie fügt man eine Methode void Deinit(void) zu einer Klasse hinzu, die delete(a) aufruft, wenn a ein gültiger Zeiger auf ein Objekt ist?
Oder wie schreibt man ao.Deinit() in OnStart()?
;)
Die Aufgabe bestand darin, Zugriff auf ein Objekt zu erhalten, nicht darin, das korrekte Löschen von Objekten zu organisieren. Löschen ist immer einfacher als Erstellen))
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Sorry, vielleicht weil Google automatisch übersetzt
Die Frage auf dem Bild lautet:

Code:Die Frage auf dem Bild lautet:
Code:
Forum über den Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Merkmale der Sprache mql5, Feinheiten und Techniken der Arbeit
Andrey Dik, 2024.02.16 06:05
Die Basisklasse hat keinen Zugriff auf die Felder der Nachkommen.
Die Basisklasse hat keinen Zugriff auf die Felder der Nachkommen.
Dies ist eine funktionierende Version dessen, was erforderlich war.
ja, aber auf diese Weise besiegt:
ist eine funktionierende Version dessen, was benötigt wurde.
Es ist sehr fehlerhaft.
Zeigen Sie mir ein Beispiel
Zeigen Sie ein Beispiel, und jeder kann einen Künstler beleidigen).
Beispiel für was?
Die Aufgabe bestand darin, Zugriff auf ein Objekt zu erhalten, nicht darin, das korrekte Löschen von Objekten zu organisieren. Löschen ist immer einfacher als Erstellen))