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 ++:
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;
coutretur 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++.