Mal i C ++

Mal i C ++
I C ++ er maler kraftige funksjoner. Det lar oss skrive noen spesielle type programmer. Det betyr at vi kan opprette en enkelt funksjon eller enkeltklasse med forskjellige datatyper brukes ved hjelp av maler.

Kjennetegn på mal

  1. Mal er et nøkkelord i C++.
  2. En mal brukes til å definere funksjonsmal og klassemal.
  3. Mal er en prosedyre for å gjøre våre funksjoner eller klasser generalisere så langt som datatype er bekymring.

Klassifisering av maler

Det er to typer maler tilgjengelig i C++.

  1. Funksjonsmal
  2. Klassemal.

en. Programmering Eksempel 1 av funksjonsmal

#inkludere
ved hjelp av navneområdet STD;
void add (int x, int y)

cout<< “ Sum is :\n ”<< x+y << endl ;

int main ()

Legg til (10, 15);
Legg til (10.50, 10.25);

Produksjon

Forklaring
Fra programmet ovenfor vil vi vite at hvorfor trenger malen i denne spesielle typen program.

Her definerer vi ganske enkelt en tilleggsfunksjon og to heltallverdier blir gitt som et argument. Det skriver ganske enkelt summen av disse to variablene.

Inne i hovedfunksjonen kaller vi ADD -funksjonen og passerer to verdier 10 og 15. Det legger ganske enkelt til disse to verdiene, og vi får verdiene 25.

Men i den andre legg til funksjon når vi passerer to dobbelttypeverdier 10.50 og 10.25, da oppstår problemet i sumresultatet. For her passerer vi to doble typer verdier inne i heltallvariablene. Som et resultat vises det feil resultat.

For å løse dette problemet, introduserer vi mal.

b. Programmering Eksempel 2 av funksjonsmal

#inkludere
ved hjelp av navneområdet STD;
mal // introdusere funksjonsmal
C Legg til (C X, C Y)

cout<< “ sum is :\n”<< x+y << endl ;

int main ()

sum (10, 15);
Sum (10.50, 10.25);

Produksjon

Forklaring
Der vi definerer ADD -funksjon, skriver vi søkeordmalen. Så i vinkelbraketten skriver vi klasse nøkkelord. Skriv deretter en stedinnehaver som heter C. Etter det inne i ADD -funksjonen der vi skrev datatypen heltall, erstattes alle disse heltallene av stedsinnehaveren C. Denne stedsinnehaveren C vil bli erstattet av riktig datatype når vi passerer verdiene innenfor sumfunksjonen.

Når vi passerer 10 og 15, erstattes C av heltallverdiene, men i det andre tilfellet når vi passerer to dobbelttypeverdier 1.50 og 10.25, så blir C erstattet av de doble datatypene. Det er fordelen med å bruke mal i programmet.

c. Programmering Eksempel 3 i klassemal

#inkludere
ved hjelp av navneområdet STD;
Klasseeksempel

privat:
int x, y;
offentlig:
Eksempel (int a, int b)

x = a;
y = b;

void test ()

If (x> y)

cout<< x<< “ is the largest number ”<< endl ;

ellers

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Eksempel OB1 (10, 15);
ob1.test ();
Eksempel OB2 (10.50, 10.25)
ob2.test ();
retur 0;

Produksjon

Forklaring
Her erklærer vi en klasse som heter eksempel. I klassen kaller vi konstruktøreksemplet og passerer to heltallstypevariabler for å tilordne verdien av variabel x og y. Testfunksjonen viser oss hvilken verdi som er den største.

Inne i hovedfunksjonen, når vi passerer to verdier 10 og 15 under opprettelsen av objekt OB, viser det riktig resultat.

Men i neste tilfelle, når vi passerer to doble datatypeverdier i heltallstypevariablene, viser det feil resultat.

For å løse dette problemet igjen, introduserer vi mal i neste program.

d. Programmering Eksempel 4 for klassemal

#inkludere
ved hjelp av navneområdet STD;
mal
Klasseeksempel

privat:
C x, y;
offentlig:
Eksempel (C A, C B)

x = a;
y = b;

void test ()

If (x> y)

cout<< x<< “ is the largest number ”<< endl ;

ellers

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Eksempel OB1 (10, 15);
ob1.test ();
Eksempel OB2 (10.50, 10.25);
ob2.test ();
retur 0;

Produksjon

Forklaring
Før definisjonen av eksempelklasse skriver vi en linje:

Mal < class C >

Som vi diskuterte tidligere, er mal et nøkkelord. Så inne i vinkelbraketten skriver vi nøkkelordklassen, deretter en stedholder som heter C.

Etter det må hvert heltalldatatype erstattes med C.

Når vi passerer to heltallstyper verdier 10 og 15, erstattes C av heltallvariablene. I neste tilfelle når vi passerer to doble verdier 10.50 og 10.25, deretter C erstattes av den doble datatypen.

Fordelen er at for den forskjellige datatypen skriver vi ikke forskjellige koder.

Konklusjon

Å diskutere i detalj om malbegrepet er det klart for oss at vi ved å lage mal kan jobbe med forskjellige datatype i et enkelt program eller i et generaliseringsprogram.