Huis Persoonlijke financiën C ++ Abstract Class Concept - dummies

C ++ Abstract Class Concept - dummies

Video: Virtual Functions & Abstract Classes in C++ | C++ Programming Tutorials 2025

Video: Virtual Functions & Abstract Classes in C++ | C++ Programming Tutorials 2025
Anonim

Een abstracte klasse in C ++ is een klasse met een of meer pure virtuele functies. Een pure virtuele -functie is een virtuele led-functie die is gemarkeerd als zonder implementatie. Hoogstwaarschijnlijk heeft het geen implementatie omdat er geen implementatie mogelijk is met de informatie in de klas, inclusief eventuele basisklassen.

Een conventionele, niet-puur virtuele virtuele functie staat bekend als een concrete functie (merk op dat een concrete functie virtueel kan zijn - helaas gebruikt C ++ deze term als polymorf.

De syntaxis voor het declareren van een pure virtuele functie wordt getoond in de volgende klasse Account:

// Account - deze klasse is een abstract class class Account {public: Account (unsigned accNo, double initialBalance = 0. 0); // access functions unsigned int accountNo (); double acntBalance (); static int noAccounts (); // transactie functies void deposit (double amount); // het volgende is een pure virtuele functie virtuele ongeldige opname (dubbele hoeveelheid) = 0; beschermde: // houd accounts bij in een gelinkte lijst, dus er is geen limiet // voor het aantal statische int-accounts van accounts; // aantal accounts unsigned accountNumber; dubbele balans;};

De = 0 na de verklaring van intrekking () geeft aan dat de programmeur niet van plan is om deze functie te definiëren. on is een tijdelijke aanduiding voor de subklassen. Verwacht wordt dat de subklassen van Account deze functie zullen opheffen met een concrete functie. De programmeur moet een implementatie bieden voor elke ledenfunctie die niet puur virtueel is verklaard.

Sommige programmeurs vinden deze notatie dwaas. Maar het is hier om te blijven, dus je moet gewoon leren ermee te leven. Er is een reden, zo niet precies een rechtvaardiging, voor deze notatie. Elke virtuele functie moet een vermelding in een speciale tabel hebben.

Dit item bevat het adres van de functie. Vermoedelijk was de invoer voor een pure virtuele functie minstens één keer 0. In elk geval is het de syntax die je nu hebt.

Een abstracte klasse kan niet worden geïnstantieerd met een object; dat wil zeggen, je kunt geen object maken uit een abstracte klasse. De volgende verklaring is bijvoorbeeld niet legaal:

void fn () {// declareer een account met 100 dollar Account acnt (1234, 100. 00); // dit is geen wettelijke acnt. terugtrekking (50); // wat zou je verwachten} // deze oproep om te doen?

Als de aangifte was toegestaan, zou het resulterende object onvolledig zijn en een of andere mogelijkheid missen. Wat moet het vorige gesprek bijvoorbeeld doen? Vergeet niet dat er geen account is:: withdraw () .

Abstracte klassen dienen als basisklassen voor andere klassen. Een account bevat alle eigenschappen die zijn gekoppeld aan een generieke bankrekening. U kunt andere typen bankrekeningen maken door overnamen van Account.

De technische term is instantiëren . U zegt dat de klasse Account niet kan worden geïnstantieerd met een object of een bepaald object in de klasse Besparingen .

C ++ Abstract Class Concept - dummies

Bewerkers keuze

Basisaanpassingen voor facturen in QuickBooks 2014 - dummies

Basisaanpassingen voor facturen in QuickBooks 2014 - dummies

Het dialoogvenster Aanvullende aanpassing in QuickBooks biedt een knop Basisaanpassing. Als u op deze knop klikt, geeft QuickBooks het dialoogvenster Basisaanpassing weer, dat verschillende gemakkelijk te maken aanpassingsopties biedt. Klik op de knop Sjablonen beheren om te bepalen welke factuurformuliersjabloon u wilt aanpassen. vervolgens, wanneer QuickBooks het dialoogvenster Sjablonen beheren weergeeft, kiest u ...

Benchmarking en QuickBooks - dummies

Benchmarking en QuickBooks - dummies

QuickBooks is een krachtig programma, maar voor het maken en gebruiken van een budget is enige basiskennis van budgetteringstechnieken vereist. Een zeer krachtige maar helaas weinig gebruikte budgetteringstechniek is benchmarking. Benchmarking vergelijkt uw feitelijke of uw voorlopige gebudgetteerde aantallen met hetzelfde aantal bedrijven van vergelijkbare omvang in uw sector. CPA-bedrijven geven bijvoorbeeld geld uit aan ...

Bewerkers keuze

Hoe u contactpersonen definieert in Salesforce - dummies

Hoe u contactpersonen definieert in Salesforce - dummies

Het definiëren van contactrollen in Salesforce kan de verkoop stimuleren. Veel verkopers doen geweldig werk bij het verzamelen van visitekaartjes voor contactpersonen binnen een account, maar deze actie alleen brengt ze niet dichter bij een verkoop. Contacten en hun titels vertellen vaak niet het hele verhaal over beslissingsnemers en de commandostructuur binnen ...

Aangepast wordt om Salesforce1 Navigation aan te passen - dummies

Aangepast wordt om Salesforce1 Navigation aan te passen - dummies

De Salesforce1-applicatie is heel gemakkelijk te navigeren en is zo ontworpen dat vergelijkbaar met veel andere apps die je waarschijnlijk gebruikt. Laten we een paar navigatietips en -hulpmiddelen bekijken om u op weg te helpen naar het gebruik van de app als een professional. Het Salesforce1-navigatiemenu is waar u zou moeten ...

Onderscheid maken tussen pijpleidingen en prognoses in Salesforce - dummies

Onderscheid maken tussen pijpleidingen en prognoses in Salesforce - dummies

Wat is het verschil tussen een pijplijn en een prognose in Salesforce? Veel zakelijke gebruikers gebruiken deze twee termen door elkaar. Ze verwijzen normaal gesproken beide naar een aspect van uw verkooporganisatie en -proces, maar in Salesforce zijn het twee verschillende functies. Als u denkt aan een metaforische verkooptrechter, heeft u al uw nieuwe leads of potentiële ...

Bewerkers keuze

Regels voor effectieve communicatie - dummies

Regels voor effectieve communicatie - dummies

Effectief communiceren is de hoeksteen van elke relatie. Gebruik de tips in deze lijst om te zorgen dat uw boodschap overkomt - en om u te helpen luisteren naar wat u wordt verteld. Wees duidelijk over het doel van het gesprek: zorg ervoor dat je, voordat je je mond opendoet, weet waarom je dit doet. Nee ...

Relaties Voor Dummy's Cheat Sheet - dummies

Relaties Voor Dummy's Cheat Sheet - dummies

Je relatie met die speciale persoon speelt een grote rol in je leven. Eerst moet je Mr. of Ms. Right vinden en dan de tijd nemen om de vaardigheden te ontwikkelen om de relatie op te bouwen en te houden. En omdat geen enkele relatie conflictloos is, moet je weten hoe je de ...

Reuniecrashcursus familie: Family Dynamics - dummies

Reuniecrashcursus familie: Family Dynamics - dummies

Uw gezinsleden hebben unieke persoonlijkheden en soms kunnen deze persoonlijkheden botsen - veel tijd. Botsende persoonlijkheden kunnen leiden tot harde gevoelens en onverwachte reacties tussen familieleden. Dit fenomeen wordt gezinsdynamica genoemd. Je cast van familiekarakters kan bestaan ​​uit persoonlijkheden als Mr. Negativity, Nosy Parker, Miss Congeniality, the Psychic en the Know-it-All. ...