Hva er grensesnitt i C ++

Hva er grensesnitt i C ++
Grensesnitt, ofte kjent som abstrakte klasser er bare en kilde til å beskrive atferd i klassen uten å ha forpliktet seg til klassens implementering. Det er ikke et innebygd konsept med grensesnitt i C ++ programmering. For å begynne å lage et grensesnitt, må vi først etablere en abstrakt klasse bare med rene virtuelle funksjoner.

Grensesnitt i C ++ brukes ved hjelp av abstrakte klasser. På den annen side kalles en klasse en abstrakt klasse hvis minst en funksjon i en klasse blir erklært som en ren virtuell funksjon.

Hva er den rene virtuelle funksjonen

De Ren virtuell funksjon betyr at brukere bare erklærer funksjonen og ikke dens definisjon. Metode/funksjonsoverstyring brukes til å implementere rene virtuelle metoder i den avledede klassen. En funksjon anses som ren virtuell hvis den er beskrevet i klassen som gitt nedenfor:

Her er syntaksen til en Ren virtuell funksjon av klasserom.

Klasserom
offentlig:
// ren virtuell funksjon
virtuell dobbel getArea () = 0;
privat:
dobbel lengde; // lengden på et rom
dobbel bredde; // bredde på et rom
;

Hva er abstrakt klasse

En klasse som ble opprettet spesielt med det formål å tjene som baseklasse, kalles en abstrakt klasse. Minst en ren virtuell funksjon må være til stede i den abstrakte klassen. Det kan omfatte variabler og standardfunksjoner. De avledede klassene som den abstrakte klassen har, bør implementere en ren virtuell funksjon av baseklassen, ellers vil de bli abstrakt.

Tenk på følgende eksempel, der foreldreklassen gir et grensesnitt til en baseklasse for at baseklassen skal bruke ren virtuell funksjon som heter getArea (). To forskjellige klasser bruker det samme getArea () funksjon, men utgangen for begge tilfeller vil være annerledes.

#inkludere
ved hjelp av navneområdet STD;
klasseform

offentlig:
virtuell int getArea () = 0;
tomrom setwidth (int wth)

bredde = wth;

void setLength (int lth)

lengde = lth;

beskyttet:
int bredde;
int lengde;
;
Klasse rektangel: offentlig form

Offentlig: int getArea ()

return (bredde *lengde);

;
Klassetrekant: Offentlig form

Offentlig: int getArea ()

retur (bredde *lengde) / 2;

;
Int Main (Void)

Rektangel r;
Trekant t;
R.Setwidth (9);
R.setLength (5);
cout << "Area of Rectangle: " << R.getArea() << endl;
T.Setwidth (9);
T.setLength (5);
cout << "Area of Triangle: " << T.getArea() << endl;
retur 0;

Produksjon

Betydningen av grensesnitt

Enhver klasse avledet fra en ren abstrakt klasse (grensesnitt) bør alltid implementere hver av metodene i baseklassen, i.e., Grensesnitt. Grensesnittpekere kan sendes til funksjonene så vel som klasser, slik at vi kan kalle funksjonene til den avledede klassen derfra selv.

Hva er reglene for å bruke grensesnitt

Det er følgende regler brukere bør følge for bruk av grensesnitt i C ++:

  • Bare erklære rene virtuelle funksjoner.
  • Tildelt bare 0 til rene virtuelle funksjoner.
  • Ikke lag grensesnittet til klasser.
  • Ved å bruke en referanse til en base abstrakt klasse, kan vi opprette en peker til en forekomst av den avledede klassen.

I følgende kode, et grensesnitt Linuxhint, Som en abstrakt klasse er blitt opprettet ved å bruke en ren virtuell metode, så vel som dens funksjon brukes i barneklassen, og vi kalte ReturnString () Metode i hovedfunksjonen ved å følge grensesnittreglene.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
Klasse Linuxhint

offentlig:
Virtual String ReturnString () = 0;
;
Klassebarn: Offentlig Linuxhint

offentlig:
String returstring ()

Returner "Hei Linuxhint";

;
int main ()

Child Child_Object;
Linuxhint* Pntr;
pntr = & child_object;
cout retur 0;

Produksjon

Konklusjon

Grensesnitt er abstrakte klasser som beskriver klasseatferden som trenger å implementere den nødvendige klassen i C++. Ovennevnte retningslinjer er avgjørende for en nybegynner for å forbedre sine C ++ programmeringsferdigheter ved å jobbe med grensesnittene. Du vil også finne noen eksempler som vil hjelpe deg å lære implementering av grensesnitt i C++.