Fehler, Irrtümer, Fragen - Seite 1133

 
A100:

Aber er will es mir nicht sagen.

Nochmals: Ein solches Objekt kann innerhalb der Klasse selbst erstellt werden, aber ein Zeiger auf ein solches Objekt kann auch außerhalb der Klasse erstellt werden

Das wird er auch:

class B {
        B() {}
};
void OnStart()
{
        B *b;
        b=new B;
}
 
Fleder:

Das wird dort stehen:

Sie können auch ein Objekt erstellen, wenn Sie es benötigen

class B {
        B( int ii ) : i( ii ) {}
        int i;
public:
        int g() { return ( i ); }
        static B *f( int ii ) { return ( new B( ii ) ); } 
};
void OnStart()
{
        B *b = B::f( 100 );
        Print( b.g());
}
 
Zeleniy:

Ich verstehe nicht, wie man Server beim Verbinden scannen kann? Zuvor gab ich den Namen des Servers und die Liste erschien, fügte ich die notwendigen (Bild 2, gibt es hinzugefügt Server vor etwa vierzehn Tagen) In Bild ein nicht mehr gescannt wird die notwendigen Server, kann ich nicht hinzufügen. Was ist nicht mehr möglich oder wie machen Sie es selbst?


Sie müssen einen Teil des Firmennamens verwenden, nicht aber einen Teil des Servernamens. Die Suche nach Servernamen funktioniert nicht mehr, da sie oft zu große Listen von Übereinstimmungen lieferte, die überhaupt nicht den Wünschen des Händlers entsprachen.

 
Lone_Irbis:

Ja, und Devisen werden am besten überhaupt nicht verwendet. Oder der Computer, was das betrifft :) Das ist ganz und gar nicht gesund.

Wie auch immer, es gibt bereits eine Lösung. Es ist nicht sehr schön, aber es funktioniert. Die Lösung heißt "Zur Hölle mit deinem OOP". %) Die Fehler wurden beseitigt, indem alle statischen Variablen aus den Klassen herausgesägt, das Präfix static entfernt und sie ordentlich nebeneinander gestapelt wurden.

Im Allgemeinen weiß ich nicht, warum die Entwickler statische Variablen nicht mochten und warum sie die Funktion der automatischen Variableninitialisierung entfernen mussten, aber wenn ich muss, dann muss ich. Ich werde auf Umgehungslösungen zurückgreifen müssen...

So funktioniert es auch in C++. Statische Variablen sollten explizit definiert werden.

Es gibt keine Probleme damit.

 
A100:


Ich verstehe, was Sie meinen.

Wenn eine Instanz einer Klasse versucht, von einem externen Programm erzeugt zu werden, muss der Konstruktor geöffnet sein.

Wenn die Instanz "sich selbst erzeugt" (und einen Zeiger auf sich selbst an ein externes Programm übergibt), ist ein geschlossener Konstruktor verfügbar.

 
Renat:

So funktioniert es auch in C++. Statische Variablen müssen explizit definiert werden.

Es gibt keine Probleme damit.

Nun, die Frage ist nicht so sehr, wo und wie es funktioniert und ob es irgendwelche Probleme damit gibt. Der Punkt ist, dass es vorher gut funktioniert hat, ohne explizit angegeben zu werden.

Und um etwas zu ändern, das bereits funktioniert, sollte man einen viel wichtigeren Grund haben als "die Nachbarn machen das auch". :)

Aber kommen Sie, ich denke, das ist natürlich nicht der einzige Grund.

 

Ein einziger privater Konstruktor dient nur dazu, die Erstellung abgeleiteter Klassen einzuschränken. Alternativ kann eine Klasse auch mehrere Konstruktoren haben

class A {
private:
        A( int ) {}
public:
        A( int, int ) {}
};
class B : public A {
        B() : A( 0, 0 ) {}
};

 
Lone_Irbis:

Es geht nicht so sehr um die Frage, wo und wie es funktioniert und ob es ein Problem sein wird. Die Frage ist, dass es bisher gut funktioniert hat, ohne dass dies ausdrücklich erwähnt wurde.

Und um etwas zu ändern, das bereits funktioniert, ist es ratsam, wichtigere Gründe zu haben als "die Nachbarn machen das auch". :)

Aber kommen Sie, ich denke, das ist natürlich nicht der einzige Grund.

Und Sie versuchen, statische Variablen in der Initialisierungsliste des Konstruktors zu initialisieren.
 
A100:

Der einzige private Konstruktor dient lediglich dazu, die Erstellung abgeleiteter Klassen zu begrenzen. Eine Klasse kann auch mehrere Konstruktoren haben

Schließlich sind Sie Ihr eigener Code-Entwickler und es macht wenig Sinn, solche Einschränkungen vorzunehmen.
 

Hat jeder dasselbe Problem mit den MQL-Storage Fix Fenstertasten?

Mit den Tasten stimmt etwas nicht...