Hem Personliga finanser C ++ Abstrakt klasskoncept - dummies

C ++ Abstrakt klasskoncept - dummies

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

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

En abstrakt klass i C ++ är en klass med en eller flera rena virtuella funktioner. En ren virtuell -funktion är en virtuell medlemsfunktion som är markerad som ingen implementering. Högst sannolikt har det ingen implementering eftersom ingen implementering är möjlig med informationen i klassen, inklusive eventuella basklasser.

En konventionell icke-ren virtuell funktion kallas en betongfunktion (observera att en konkret funktion kan vara virtuell - tyvärr använder C ++ denna term som polymorf.

Syntaxen för att deklarera en ren virtuell funktion visas i följande klass Konto:

// Konto - Klassen är en abstrakt klassklass Konto {offentlig: Konto (unsigned accNo, double initialBalance = 0. 0); // åtkomstfunktioner unsigned int accountNo (); double acntBalance (); statisk int noAccounts (); // transaktionsfunktioner annullering (dubbelbelopp); // följande är en ren virtuell funktion virtuell ogiltig återkallelse (dubbel mängd) = 0; skyddad: // behåll konton i en länkad lista så det finns ingen gräns // till antalet konton statisk int räkna; // antal konton osignerad accountNumber; dubbelbalans;};

= 0 efter återkallelsen () anger att programmeraren inte har för avsikt att definiera den här funktionen. på är en platshållare för underklassen. Underklassen Konto förväntas åsidosätta denna funktion med en konkret funktion. Programmeraren måste tillhandahålla ett genomförande för varje medlemsfunktion som inte deklareras ren virtuell.

Vissa programmerare tycker att denna notation är dum. Men det är här för att stanna, så du behöver bara lära dig att leva med det. Det finns en anledning, om inte exakt en motivering, för denna notation. Varje virtuell funktion måste ha en post i ett specialtabell.

Denna post innehåller adressen till funktionen. Förmodligen, åtminstone vid en tidpunkt, var inträdet för en ren virtuell funktion 0. Oavsett det är det syntaxen du fastar med nu.

En abstrakt klass kan inte instanseras med ett objekt; Det betyder att du inte kan göra ett objekt ur en abstrakt klass. Till exempel är följande deklaration inte laglig:

void fn () {// förklara ett konto med 100 dollar konto acnt (1234, 100. 00); // det här är inte lagligt tillbakadragande (50); // vad förväntar du dig? // det här samtalet?

Om deklarationen var tillåten skulle det resulterande objektet vara ofullständigt, saknar någon förmåga. Till exempel, vad ska det föregående samtalet göra? Kom ihåg att det inte finns något konto:: uttag () .

Abstrakta klasser fungerar som basklasser för andra klasser. Ett Konto innehåller alla egenskaper som är kopplade till ett generellt bankkonto. Du kan skapa andra typer av bankkonton genom att ärva från Konto.

Den tekniska termen är att instantiate . Du säger att klassen Konto inte kan instantieras med ett objekt eller ett givet objekt instansierar klassen Savings .

C ++ Abstrakt klasskoncept - dummies

Redaktörens val

Hitta hur du betalar webbplatser i online dating - dummies

Hitta hur du betalar webbplatser i online dating - dummies

Du får vad du betalar för I livet ingår Internet-dating webbplatser. Till skillnad från gratis webbplatser, med lönesidor har du inte huvudvärk på oändliga reklammeddelanden som skriker i ditt ansikte. Dessutom är omfattningen av täckning och tillgängliga funktioner bred och robust. Solid tillsyn tillhandahålls (för att gräva ut wackos) och lämpliga hinder ...

Dating för Dummies Cheat Sheet - dummies

Dating för Dummies Cheat Sheet - dummies

Dating behöver inte vara nervös, men det kräver förberedelse . Du måste göra en uppriktig själsökning så att du är redo att vara ärlig, öppen och uppmärksam. Du behöver en stark känsla för dina dejtingförväntningar så att du tydligt kan kommunicera vad du letar efter utan att ställa in baren så hög att ingen ...

Få passar för dating igen efter 50 - dummies

Få passar för dating igen efter 50 - dummies

Copyright © 2014 AARP All rights reserved. Du behöver inte vara frisk och frisk efter 50, men det hjälper säkert om du är. Om du inte är något av dessa saker, behöver du inte ge upp och tycker att det är för sent att komma dit. Många börjar träningsregler så sent som ålder ...

Redaktörens val

ÄR ett au pair rätt för din familj? - dummies

ÄR ett au pair rätt för din familj? - dummies

Det är viktigt att undersöka dina specifika familjeförhållanden för att avgöra om ett au pair är rätt barnomsorg för din familj. Du kanske bestämmer dig för att anställa ett au pair i stället för daghem, barnbarn eller barnpassare om du vill utsätta din familj för en ny kultur. Är ...

Online-verktyg för familjebudgetar - dummies

Online-verktyg för familjebudgetar - dummies

Vissa familjer kan tycka att den mest användbara aspekten av att bo i en värld med nästan oändliga onlineverktyg innebär att kunna budgetera för familjen med dessa verktyg. Följande tre onlinetjänster erbjuder familjer ett sätt att organisera familjeutgifter online, dela åtkomst till säkra konton och eliminera några av papperet ...

Barn som Online Entreprenörer - Dummies

Barn som Online Entreprenörer - Dummies

Levande i en digital värld tillåter barnen obegränsade möjligheter när det gäller entreprenörskap. Denna digitala tidsålder ger barnen en unik färdighetssats med möjlighet att dela den färdigheten med andra och lägga till "onlineföretagare" till listan över möjliga efterskolor och sommarjobb som finns tillgängliga för barn idag. Spelskapande Ett område där digitalt ...

Redaktörens val

Word 2007 Mail Merge - Steg 3: Byggnadsrekord - dummies

Word 2007 Mail Merge - Steg 3: Byggnadsrekord - dummies

Efter att ha definierat de fält du behöver för din Word 2007-postfusion, är nästa steg att slutföra adresslistan. För att göra det skapar du en lista över poster genom att ange data för varje fält i varje post. Detta händer i dialogrutan Ny adresslista. Kom ihåg att fält är kolumner och ...

Word 2007 Mail Merge - Steg 5: Final Merge - dummies

Word 2007 Mail Merge - Steg 5: Final Merge - dummies

Med sammanfogningsfälten infogad i huvudversionen av Word 2007-dokumentet och adresslistan stannar, är du redo att starta din mailfusion! Spara huvuddokumentet. Klicka på knappen Förhandsgranska resultat. Fälten i huvuddokumentet försvinner! De ersätts av information från den första posten i adresslistan. Så här ...