Acasă Finanțe personale C ++ Abstract Class Concept - dummies

C ++ Abstract Class Concept - dummies

Video: Abstract Class and Pure Virtual function in C++ -51 2024

Video: Abstract Class and Pure Virtual function in C++ -51 2024
Anonim

O clasă abstractă în C ++ este o clasă cu una sau mai multe funcții virtuale pure. Funcția virtuală pură este o funcție virtuală a unui membru care este marcată ca neavând implementare. Cel mai probabil nu are nicio implementare deoarece nu este posibilă implementarea informațiilor din clasă, inclusiv clase de bază.

O functie virtuala conventionala, care nu este pur cunoscuta, este cunoscuta sub numele de functie beton (noteaza ca o functie concreta poate fi virtuala - din pacate, C ++ foloseste acest termen pentru a insemna polimorf.

Sintaxa pentru declararea unei funcții pure virtual este demonstrată în următoarea clasă Account:

// Account - această clasă este o clasă de clasă abstractă Cont {public: Cont (nesemnate accNo, double initialBalance = 0. 0); // funcții de acces nesemnate int accountNo (); dublu acntBalance (); static int noAccounts (); // funcții de tranzacție void deposit (suma dublă); este o funcție virtuală pură retragere virtuală (dublu sumă) = 0; protejat: // păstra conturile într-o listă conectată astfel încât nu există limită // la numărul de conturi static int count; // numărul de conturi nesemnate accountNumber;;};

The = 0 după declarația de retragere () indică faptul că programatorul nu intenționează să definească această funcție. on este un substituent pentru subclasele. Se așteaptă ca subclasele Account să înlocuiască această funcție cu o funcție concretă. Programatorul trebuie să furnizeze o implementare pentru fiecare funcție de membru care nu este declarată pură virtuală.

Unii programatori cred că această notație este prostie. Dar este aici să rămâi, așa că trebuie să înveți să trăiești cu ea. Există un motiv, dacă nu chiar o justificare, pentru această notație. Fiecare funcție virtuală trebuie să aibă o intrare într-o tabelă specială.

Această intrare conține adresa funcției. Probabil, cel puțin la un moment dat, intrarea pentru o funcție pură virtuală a fost 0. În orice caz, este sintaxa cu care te-ai blocat acum.

O clasă abstractă nu poate fi instanțiată cu un obiect; adică nu puteți face un obiect dintr-o clasă abstractă. De exemplu, următoarea declarație nu este legală:

void fn () {// declară un cont cu cont de 100 de cont (1234, 100.00); // aceasta nu este o actiune legala. retragere (50); // ce ați aștepta} // acest apel să faceți?

Dacă declarația ar fi permisă, obiectul rezultat ar fi incomplet, lipsit de anumite capacități. De exemplu, ce ar trebui să facă apelul anterior? Rețineți că nu există niciun cont:: retragere () .

Clasele abstracte servesc ca clase de bază pentru alte clase. Un Cont conține toate proprietățile asociate unui cont bancar generic. Puteți crea alte tipuri de conturi bancare prin moștenirea de la cont.

Termenul tehnic este instanțiat . Spuneți că clasa Cont nu poate fi instanțiată cu un obiect sau un obiect dat instanțiază clasa Economii .

C ++ Abstract Class Concept - dummies

Alegerea editorilor

Social Media Design: Twitter Opțiuni imagine - dummy

Social Media Design: Twitter Opțiuni imagine - dummy

Jonglați constrângerile legate de spațiu și modul cel mai bun de a poziționa cele trei imagini separate pe care vi se permite să le utilizați în profilul dvs. Twitter.

Social Media Design: Inspirând exemplele de afaceri pe Facebook - manechine

Social Media Design: Inspirând exemplele de afaceri pe Facebook - manechine

ÎNainte de scufundări în elementele de bază ale proiectării o pagină solidă Facebook, aruncați o privire asupra unor branduri care profită din plin de Facebook cu pagini proprii. Persoanele fizice și organizațiile de la bloggeri la proprietarii de magazine Etsy de la domiciliu la branduri internaționale folosesc Facebook pentru a se conecta cu clienții și fanii existenți, precum și cu potențialul lor ...

Social Media Optimization: Publicarea Tweets automat la profilul dvs. Facebook - dummies

Social Media Optimization: Publicarea Tweets automat la profilul dvs. Facebook - dummies

Lucrurile noi pe care să le postați pe Facebook pot fi o adevărată corvoadă. Din fericire, există un truc pe care îl puteți optimiza pe acest site media social. Dacă puteți atinge postarea încrucișată a conținutului între servicii, vă puteți salva ceva timp. Twitter vă oferă posibilitatea de a vă conecta profilul cu alte servicii. Există, ...

Alegerea editorilor

Cum se verifică performanța sistemului cu AWS - dummies

Cum se verifică performanța sistemului cu AWS - dummies

AWS (Amazon Web Services) metode pentru monitorizarea serviciilor specifice AWS. Cu toate acestea, este posibil să aveți probleme de performanță a sistemului sau probleme de aplicare non-AWS care trebuie abordate, ceea ce înseamnă că aveți instrumente care pot funcționa în afara AWS. Pachetul de grupuri de instrumente de performanță conține un număr de instrumente specifice pentru realizarea acestei sarcini ...

Cum să alegeți serviciile AWS de care aveți nevoie - dummies

Cum să alegeți serviciile AWS de care aveți nevoie - dummies

Amintiți-vă că aveți doar 12 luni de libertate proces în care să se ia decizii privind serviciile AWS (Servicii Amazon Web) pe care să le utilizați în afacerea dvs. Douăsprezece luni pot părea mult timp, dar veți descoperi că se evaporă înaintea ochilor dvs. în timp ce încercați să vă jonglați responsabilitățile zilnice, întâlnirile ...

Probleme de securitate aWS - dummy

Probleme de securitate aWS - dummy

Pentru a utiliza AWS (Amazon Web Services) cale. Administratorii și profesioniștii în domeniul securității se pot răzbuna rapid, încercând să păstreze aceste computere interconectate în siguranță, dar aceasta face parte din descrierea postului. Trebuie să urmați cele mai bune practici în securizarea sistemelor informatice, a datelor pe care le conțin, ...

Alegerea editorilor

Cum se asamblează o Circuit de organe color - dummies

Cum se asamblează o Circuit de organe color - dummies

După ce ați strâns toate materialele de care aveți nevoie construiți un organ de culoare, sunteți gata să asamblați proiectul. Vedeți ce aveți nevoie pentru a construi un circuit de organe color. Veți avea nevoie de următoarele instrumente: Sârma de lipit, de preferință cu setări de 20 și 40 W Solder Utilizați lipire mai groasă pentru firele de tensiune și subțire ...

Construirea unui Circuit Dead-Bug Style - dummies

Construirea unui Circuit Dead-Bug Style - dummies

) Sunt montate cu capul în jos pe placa de circuit imprimat (PC), majoritatea picioarelor lipindu-se în aer! Arata ca multe. . . morți bug-uri! Un alt nume pentru acest tip de construcție este "circuitele de aer", deoarece componentele sunt atașate direct la ...

Aplicarea RFID în lumea reală - dummies

Aplicarea RFID în lumea reală - dummies

Capacitatea de a urmări și de a urmări, de a urmări și de a găsi, peek sunt toate îmbunătățite prin utilizarea RFID. Unii avocați de confidențialitate vă faceți griji că aparatele vor atașa în mod magic etichetele RFID la îmbrăcăminte sau pantofi pe măsură ce vă plimbați prin magazin sau în jurul unui birou, dar acest lucru este foarte puțin probabil. Limitele ...