Kjennetegn på mal
Klassifisering av maler
Det er to typer maler tilgjengelig i C++.
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.