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

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Du har två alternativ för att ta bort en webbdel från din SharePoint-sida - stängning eller radering. Att stänga en webbdel lämnar webbdelen på sidan så att du kan aktivera den igen för framtida användning. Att ta bort webbdelen tar bort webbdelen från din sida (men tar inte bort den från SharePoint). Till ...

För att ladda ner Apps från SharePoint Store - dummies

För att ladda ner Apps från SharePoint Store - dummies

Förutom de appar som följer med SharePoint, Du kan också lägga till appar från tredje part. Dessa tredjepartsprogram visas i SharePoint-butiken. Om du använder SharePoint Online har du tillgång till hela butiken. Om du använder SharePoint On-Premise kan dina lokala IT-administratörer ha låst ned de appar som ...

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Du vill visa din SharePoint appdata med annan text och webbdelar på flera platser, till exempel hemsidor för hemsida, webbsidor eller publiceringssidor. I dessa situationer vill du inte att dina användare ska interagera med själva appen med alla redigeringsalternativ. Du vill bara att de ska se flera ...

Redaktörens val

Vad är Kik? - dummies

Vad är Kik? - dummies

Grundades 2009, är Kik en gratis snabbmeddelandeprogram utvecklad från Kik Interactive. Kik är tillgängligt på Android, Windows Phone och iOS-enheter. Applikationen är modellerad efter BlackBerry Messenger. Kik använder den befintliga smarttelefonens dataplan eller Wi-Fi för att skicka och ta emot meddelanden, videoklipp, foton, mobila webbsidor, skisser och annat innehåll. ...

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Redaktörens val

Vanliga kodningsfel - dummies

Vanliga kodningsfel - dummies

Koden fungerar inte? Här är några vanliga misstag som kan gå upp till och med även den mest erfarna kodaren. Om din kod inte kommer att köras, försök att springa ned den här checklistan för att se om du har några av dessa fel: Har inte en slutlig HTML-tagg efter varje öppnande HTML-tagg . Saknade parentes i ...

Grundläggande kodningsordförråd - dummies

Grundläggande kodningsordförråd - dummies

Kodning har ett omfattande vokabulär som för lekmän kan verka som ogenomtränglig technobabble. Oavsett om du läser kodningsrelaterad artikel online eller pratar med en utvecklare på jobbet hörs det kanske ord som du inte har hört förut eller som har en annan mening i en kodande kontext. Här är några vanliga ordförrådsord att veta: Allmänt ...