Fragen von einem "Dummy" - Seite 180

 
Dimka-novitsek:
Oh, danke!!!! Es ist da!!!
Semyon Semenych.....('Der Diamantarm')
 

Die Schleife ist korrekt, eine solche Konstruktion ist akzeptabel, weil i global deklariert ist, es wird standardmäßig mit 0 initialisiert.

Aber warum kaufen wir nach Geboten? Werden wir mit Ask verkaufen? Offensichtlich ist die Abweichung größer als die Spanne, sonst würde sie sich gar nicht öffnen. Aber wie kann OrderCheck das übersehen?

 
Dimka-novitsek:

Ich habe int i; außerhalb von Funktionen deklariert, oberhalb seines Ticks, dass es genau fünf Aufträge öffnen würde! Andernfalls würden sich viele von ihnen öffnen. Die Hauptsache ist, dass es funktioniert.

Das ist das erste Mal, dass ich es höre oder lese! Interessant.

Cool!!! Ich danke Ihnen.

Ich persönlich habe den Eindruck, dass Sie keine Dokumentation verwenden. Überhaupt nicht.

Halt! Machen Sie eine Pause. Lesen.

 
Dimka-novitsek:
Was ist verloren gegangen? Ich denke, aus der Referenz...
Geben Sie mir ein Zitat aus der Referenz.
 
Offensichtlich habe ich nicht genug geschlafen, die Frage macht keinen Sinn. Die Frage wurde gestrichen.
 

Ich habe mich oben ein wenig aufgeregt, deshalb wiederhole ich die Frage :) :

Ist es möglich, das folgende Problem in C++ zu lösen


In diesem Fall:

Q1 *p = new Q2();

p->Fn();

Q1::Fn() wird aufgerufen;

Sie benötigen Q3::Fn();

Ich denke, die Zahl ist recht aufschlussreich. Wenn nicht, stellen Sie bitte eine andere Frage.

 

220Volt:

Q1::Fn() wird aufgerufen;

Sie benötigen Q3::Fn();

dann aufrufen

Q3::Fn();

al operator :: funktioniert nicht mehr?

 
sergeev:

Rufen Sie also

Q3::Fn();

al funktioniert der :: Operator nicht mehr?

Der Haken an der Sache ist, dass Mehrfachvererbung den Compiler verunsichert, wir müssen Vererbungsprioritäten setzen oder eine dumme Q3-Vererbung machen, aber wie. Ich betone, dass wir eine virtuelle Funktion im Vorgänger erstellen müssen. Der Verweis auf eine Funktion nach Mehrfachvererbung verursacht keine Probleme.
 
sergeev:

Rufen Sie also

Q3::Fn();

al operator :: funktioniert nicht mehr?

Wenn Sie es so nennen, sollten Sie die Funktionen umbenennen, so dass sie andere Namen haben?

an Faku1Fn und Faku3Fn :)

Das Gleiche, nur von der Seite.

In diesem Fall gibt es überhaupt keine Konflikte.

220Volt:

Ich bin oben zu weit gegangen, also wiederhole ich die Frage :) :

Ist es möglich, die folgende Aufgabe in C++ zu lösen


In dem Fall

Q1 *p = new Q2();

p->Fn();

Q1::Fn() wird aufgerufen;

Sie benötigen Q3::Fn();

Ich denke, die Zahl ist recht aufschlussreich, wenn nicht, stellen Sie mir bitte eine Folgefrage.

Definieren Sie das Superproblem, wofür es da ist, und dann wird die Lösung erscheinen.

Denn im Moment läuft die Lösung einfach darauf hinaus:

Klasse Q1

Klasse Q3 : öffentlich Q1

class Q2 : public Q3

 
Urain:

Definieren Sie das Über-Ziel, wozu es dient, dann wird sich eine Lösung ergeben.

Denn im Moment läuft die Lösung einfach darauf hinaus:

Klasse Q1

Klasse Q3 : öffentlich Q1

class Q2 : public Q3

das Interesse ist wahrscheinlich rein akademisch

wie man Q3 in C++ macht: public Q1, public Q2

und gleichzeitig dem Compiler verständlich zu machen, was von ihm erwartet wird.