Zuhause Persönliche Finanzen Wie Polymorphismus in C ++ - Dummies

Wie Polymorphismus in C ++ - Dummies

Video: Zeiger - (dynamische) Datenstrukturen 3 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler 2024

Video: Zeiger - (dynamische) Datenstrukturen 3 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler 2024
Anonim

C ++ als Straddler unterstützt sowohl frühe als auch späte Bindung. Jede gegebene Programmiersprache kann entweder frühe oder späte Bindung basierend auf den Launen ihrer Entwickler unterstützen. Ältere Sprachen wie C neigen dazu, die frühe Bindung alleine zu unterstützen. Neue Sprachen wie Java und C # unterstützen nur die späte Bindung.

Sie werden überrascht sein, dass der Standard für C ++ eine frühe Bindung ist. Die Ausgabe des Programms OverloadOverride lautet wie folgt:

Wir sind in Student:: calcTuition Wir sind in Student:: calcTuition Drücken Sie die Eingabetaste, um fortzufahren …

Der Grund ist einfach, wenn auch etwas veraltet. Erstens muss C ++ in der Standardeinstellung so sehr wie C agieren, um die Aufwärtskompatibilität mit dem Vorgänger beizubehalten. Zweitens fügt der Polymorphismus jedem Funktionsaufruf sowohl hinsichtlich der Datenspeicherung als auch des Codes, der zum Ausführen des Anrufs erforderlich ist, einen geringen Overhead hinzu.

Die C ++ - Gründer hatten Bedenken, dass zusätzlicher Overhead als Grund dafür verwendet werden würde, C ++ nicht als Systemsprache der Wahl zu übernehmen, so dass sie die Vorabbindung effizienter gestalten konnten.

Um eine Memberfunktion polymorph zu machen, muss der Programmierer die Funktion mit dem C ++ - Schlüsselwort virtual, kennzeichnen, wie in der folgenden Modifikation der Deklaration in der OverloadOveride < Programm: Klasse Student {public: virtuelles void calcTuition () {cout << "wir sind in Student:: calcTuition" << endl;}};

Das Schlüsselwort

virtual , das C ++ mitteilt, dass calcTuition () eine polymorphe Elementfunktion ist. Das heißt, wenn Sie calcTuition () virtual deklarieren, bedeutet das, dass Aufrufe an ihn spät gebunden werden, wenn Zweifel bezüglich des Laufzeittyps des Objekts bestehen, mit dem calcTuition () aufgerufen wird.

Wenn Sie das Programm

OverloadOveride mit calcTuition () virtual deklariert ausführen, wird die folgende Ausgabe erzeugt: Wir sind in Student:: calcTuition Wir sind in GraduateStudent:: calcTuition Press Geben Sie hier ein, um fortzufahren …

Wenn Sie mit dem Debugger vertraut sind, der mit Ihrer C ++ - Umgebung geliefert wird, sollten Sie dieses Beispiel in nur einem Schritt ausführen. Es ist so cool, das Programm als Einzelschritt in Student zu sehen:: calcTuition () das erste Mal, dass fn () aufgerufen wird, aber in GraduateStudent:: calcTuition () im zweiten Aufruf. Polymorphismus kann man nicht wirklich schätzen, bevor man es versucht hat.

Sie müssen die Funktion nur in der Basisklasse virtuell deklarieren. Die "Virtualness" wird automatisch in die Unterklasse übernommen. Manchmal jedoch folgen Programmierer dem Codierungsstandard, die Funktion virtuell überall (virtuell) zu deklarieren.

Wie Polymorphismus in C ++ - Dummies

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...