Zuhause Persönliche Finanzen C ++ Abstrakt Klassenkonzept - Dummies

C ++ Abstrakt Klassenkonzept - Dummies

Video: Data Structures: Abstract Data Type (ADT) 2024

Video: Data Structures: Abstract Data Type (ADT) 2024
Anonim

Eine abstrakte Klasse in C ++ ist eine Klasse mit einer oder mehreren reinen virtuellen Funktionen. Eine reine virtuelle -Funktion ist eine virtuelle Mitgliedsfunktion, die so markiert ist, dass sie keine Implementierung hat. Höchstwahrscheinlich hat es keine Implementierung, da keine Implementierung mit den in der Klasse bereitgestellten Informationen möglich ist, einschließlich aller Basisklassen.

Eine konventionelle, reine virtuelle Funktion ist als konkrete Funktion bekannt (man beachte, dass eine konkrete Funktion virtuell sein kann - leider bedeutet C ++, dass dieser Begriff polymorph ist).

Die Syntax zum Deklarieren einer Funktion pure virtual wird in der folgenden Klasse gezeigt Account:

// Account - diese Klasse ist eine abstrakte Klassenklasse Account {public: Konto (unsigned accNo, double initialBalance = 0. 0); // Zugriffsfunktionen unsigned int accountNo (); double acntBalance (); static int noAccounts (); // Transaktionsfunktionen void deposit (double amount); // die folgenden ist eine reine virtuelle Funktion virtuelle Entzugserlaubnis (doppelter Betrag) = 0; geschützt: // Konten in einer verknüpften Liste behalten, damit es keine Begrenzung gibt // zur Anzahl der Konten statisch int count; // Anzahl der Konten unsigned accountNumber; doppelter Kontostand;};

Die = 0 nach der Entzugserklärung () zeigt an, dass der Programmierer diese Funktion nicht definieren will. on ist ein Platzhalter für die Unterklassen. Es wird erwartet, dass die Unterklassen von Account diese Funktion mit einer konkreten Funktion überschreiben. Der Programmierer muss eine Implementierung für jede Mitgliedsfunktion bereitstellen, die nicht als rein virtuell deklariert ist.

Manche Programmierer halten diese Schreibweise für albern. Aber es ist hier, um zu bleiben, also musst du lernen, damit zu leben. Es gibt einen Grund, wenn nicht gerade eine Rechtfertigung für diese Notation. Jede virtuelle Funktion muss einen Eintrag in einer speziellen Tabelle haben.

Dieser Eintrag enthält die Adresse der Funktion. Vermutlich war mindestens einmal der Eintrag für eine reine virtuelle Funktion 0. In jedem Fall ist es die Syntax, mit der Sie jetzt arbeiten.

Eine abstrakte Klasse kann nicht mit einem Objekt instanziert werden; das heißt, Sie können kein Objekt aus einer abstrakten Klasse machen. Zum Beispiel ist die folgende Deklaration nicht legal:

void fn () {// Konto mit 100 Dollar deklarieren Account acnt (1234, 100. 00); // das ist nicht legal acnt. Rücknahme (50); // was würdest du erwarten} // dieser aufruf?

Wenn die Deklaration erlaubt wäre, wäre das resultierende Objekt unvollständig und hätte keine Fähigkeiten. Was sollte der vorherige Aufruf zum Beispiel tun? Denken Sie daran, es gibt kein Konto:: Rückzug () .

Abstrakte Klassen dienen als Basisklassen für andere Klassen. Ein -Konto enthält alle Eigenschaften, die einem generischen Bankkonto zugeordnet sind. Sie können andere Arten von Bankkonten erstellen, indem Sie von Konto erben.

Der Fachausdruck lautet , zu instanziieren. Sie sagen, dass die Account -Klasse nicht mit einem Objekt instanziiert werden kann oder ein bestimmtes Objekt die Savings -Klasse instanziiert.

C ++ Abstrakt Klassenkonzept - 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 ...