Hjem Personlig finansiering C ++ Abstrakt klassekoncept - dummier

C ++ Abstrakt klassekoncept - dummier

Video: Abstract Factory Design Pattern 2025

Video: Abstract Factory Design Pattern 2025
Anonim

En abstrakt klasse i C ++ er en klasse med en eller flere rene virtuelle funktioner. En ren virtuel -funktion er en virtuel medlemsfunktion, der er markeret som ingen implementering. Mest sandsynligt har den ingen implementering, fordi ingen gennemførelse er mulig med de oplysninger, der gives i klassen, herunder eventuelle basisklasser.

En konventionel, ikke-ren virtuel funktion kaldes en betonfunktion (bemærk at en konkret funktion kan være virtuel - desværre bruger C ++ dette udtryk til at betyde polymorfe.

Syntaxen til at erklære en ren virtuel funktion er demonstreret i følgende klasse: Konto:

// Konto - Denne klasse er en abstrakt klassekonto Konto: Konto (usigneret accNo, double initialBalance = 0. 0); // adgangsfunktioner usigneret int accountNo (); double acntBalance (); statisk int noAccounts (); // transaktionsfunktioner ugyldig indbetaling (dobbelt beløb); // følgende er en ren virtuel funktion virtuel ugyldig tilbagekaldelse (dobbelt beløb) = 0; beskyttet: // holde konti i en linket liste, så der er ingen grænse // til antallet af konti statisk int count; // antal konti usigneret accountNumber; double balance;};

= 0 efter tilbagekaldelseserklæringen () angiver, at programmøren ikke har til hensigt at definere denne funktion. on er en pladsholder til underklasserne. Underklassen Konto forventes at tilsidesætte denne funktion med en konkret funktion. Programmøren skal sørge for en implementering for hver medlemsfunktion, der ikke er angivet rent virtuelt.

Nogle programmører mener, at denne notation er dum. Men det er her at blive, så du skal bare lære at leve med det. Der er en grund, hvis ikke ligefrem en begrundelse for denne notation. Hver virtuel funktion skal have en post i et specielt bord.

Denne post indeholder adressen til funktionen. Formentlig, i det mindste på et tidspunkt var indtastningen for en ren virtuel funktion 0. Under alle omstændigheder er det den syntaks du sidder fast med nu.

En abstrakt klasse kan ikke instanseres med et objekt; det vil sige, du kan ikke gøre et objekt ud af en abstrakt klasse. For eksempel er følgende erklæring ikke lovlig:

void fn () {// erklære en konto med 100 dollars konto acnt (1234, 100,00); // dette er ikke lovlig acnt. tilbagetrækning (50); // hvad ville du forvente} // dette opkald til at gøre?

Hvis erklæringen blev tilladt, ville det resulterende objekt være ufuldstændigt og manglede i nogen form for evne. Hvad skal for eksempel det foregående opkald gøre? Husk, at der ikke er nogen konto:: tilbagekaldelse () .

Abstrakte klasser tjener som basisklasser for andre klasser. En Konto indeholder alle de egenskaber, der er knyttet til en generisk bankkonto. Du kan oprette andre typer bankkonti ved at arve fra Konto.

Det tekniske udtryk er instantiate . Du siger, at klassen Konto ikke kan instantieres med en genstand eller en given genstand, som indebærer klassen Savings .

C ++ Abstrakt klassekoncept - dummier

Valg af editor

10 Transaktioner og funktioner, som de fleste oplysninger konverterer til i QuickBooks Online - dummies

10 Transaktioner og funktioner, som de fleste oplysninger konverterer til i QuickBooks Online - dummies

Følgende listen indeholder detaljer om transaktioner og funktioner, som de fleste data konverterer og sammenlignelige transaktioner og funktioner findes i QuickBooks Online (QBO). I nogle tilfælde findes undtagelser; Du finder specifikke noter i web-ekstraartikel & ldquo; Hvordan QuickBooks Desktop Lister Konverter til QuickBooks Online. & Rdquo; Og for flere oplysninger, besøg QuickBooks ofte stillede spørgsmål, og ldquo; Hvorfor ...

Der producerer betalingsopgørelser i MYOB-dummies

Der producerer betalingsopgørelser i MYOB-dummies

I slutningen af ​​hvert lønningsår (som slutter den 30. juni) kan bruge MYOB til at levere hver medarbejder med et betalingsoversigt. Et betalingsopsamling er et kort dokument, der opsummerer de bruttolønninger, skat og godtgørelser, som medarbejderen har modtaget i løbet af de sidste 12 måneder af ansættelsen. Opsætning af betalingsoversigter Til ...

15 Funktioner, der ikke konverteres og findes ikke i QuickBooks Online

15 Funktioner, der ikke konverteres og findes ikke i QuickBooks Online

Følgende oplysninger viser transaktioner og funktioner, som ikke konverteres fra desktop QuickBooks til QuickBooks Online (QBO) og heller ikke har nogen sammenlignelig funktion i QBO. Selv om en eller flere af disse transaktioner eller funktioner kan være afbrudte afbrydere, skal du huske at for mange af disse funktioner kan du bruge løsninger. Typen af ​​data eller funktional noter ...

Valg af editor

Sådan bruger du FREQUENCY-funktionen i Excel - dummier

Sådan bruger du FREQUENCY-funktionen i Excel - dummier

FREQUENCY-funktionen i Excel tæller værdierne i en array der falder inden for en rækkevidde eller bin. Funktionen bruger følgende syntaks: = FREQUENCY (data_array, bins_array) hvor data_array er det regnearkområde, der indeholder de værdier, du vil tælle, og bins_array er et regnearkområde, der identificerer værdierne eller bakkerne, der ...

Hvordan man bruger målsøgningsfunktionen i Excel 2013 - dummies

Hvordan man bruger målsøgningsfunktionen i Excel 2013 - dummies

, Når du skal analysere , bruger du Excel 2013s målsøgningsfunktion til at finde de indgangsværdier, der er nødvendige for at opnå det ønskede mål. Nogle gange, når du gør hvad-hvis analyse, har du et bestemt udgangspunkt i tankerne, såsom et mål salgsmængde eller vækstprocent. Hvis du vil bruge funktionen Målsøgning placeret på What-If ...

Hvordan man vælger Excel CHOOSE-funktionen i datamodeller - dummier

Hvordan man vælger Excel CHOOSE-funktionen i datamodeller - dummier

Selvom valgmuligheden måske ikke Se nyttige på overfladen, denne funktion kan dramatisk forbedre dine Excel-datamodeller. VÆLG-funktionen returnerer en værdi fra en bestemt liste over værdier baseret på et angivet positionsnummer. Hvis du f.eks. Indtaster formlerne VÆLG (3, "Rød", "Gul", "Grøn", "Blå") i en celle, returnerer Excel ...

Valg af editor

Indlæs en Workflow i SharePoint 2010 - dummies

Indlæs en Workflow i SharePoint 2010 - dummies

Konfigurere dit bibliotek til at bruge en workflow i SharePoint 2010 løser kun en del af problemet. Hvis du ikke har dit bibliotek konfigureret til at kick-off automatisk, skal en person manuelt starte workflowen. Start manuelt en arbejdsgang ved at følge disse trin: Gennemse det element, du vil godkende, klik på rullelisten og vælg Workflows. ...

Bibliotek / Liste Generelle indstillinger Område i SharePoint 2010 - dummies

Bibliotek / Liste Generelle indstillinger Område i SharePoint 2010 - dummies

Bibliotekets generelle indstillinger / listen er blevet udvidet i SharePoint 2010 til at omfatte flere nye indstillinger, herunder validering, kolonne standardværdi (for biblioteker), vurdering, metadata navigation, visningsvisning og formular (for lister). Her er et overblik for at se, hvad du kan gøre med hver af disse muligheder. Generelle indstillinger Konfigurationsindstillinger Indstillingsnavn ...

Importer et regneark som en liste i SharePoint 2010 - dummies

Importer et regneark som en liste i SharePoint 2010 - dummies

Har allerede data i et regneark, som du Vil du være en SharePoint 2010 liste? Du er halvvejs derhen! Før du starter, skal du sørge for at gøre følgende: Rens listen. Sørg for, at din liste ligner et bord uden tomme kolonner eller rækker. Sørg for, at din liste har overskrifter. Alle kolonner skal have en ...