Vorlage in C ++

Vorlage in C ++
In C ++ sind Vorlagen leistungsstarke Merkmale. Es ermöglicht uns, einige spezielle Art von Programmen zu schreiben. Es bedeutet, dass wir eine einzelne Funktion erstellen können oder eine einzelne Klasse mit unterschiedlichen Datentypen mit Hilfe von Vorlagen verwendet werden.

Eigenschaften der Vorlage

  1. Vorlage ist ein Schlüsselwort in c++.
  2. Eine Vorlage wird verwendet, um Funktionsvorlage und Klassenvorlage zu definieren.
  3. Vorlage ist ein Verfahren, um unsere Funktionen oder Klassen so weit zu verallgemeinern, dass der Datentyp betrifft.

Klassifizierung von Vorlagen

In C sind zwei Arten von Vorlagen erhältlich++.

  1. Funktionsvorlage
  2. Klassenvorlage.

A. Programmierbeispiel 1 der Funktionsvorlage

#enthalten
Verwenden von Namespace STD;
void add (int x, int y)

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

int main ()

add (10, 15);
hinzufügen (10.50, 10.25);

Ausgang

Erläuterung
Aus dem obigen Programm werden wir wissen, warum die Vorlage in diesem speziellen Programmtyp benötigt wird.

Hier definieren wir einfach eine Add -Funktion und zwei Ganzzahlwerte werden als Argument übergeben. Es druckt einfach die Summe dieser beiden Variablen.

In der Hauptfunktion rufen wir die Funktion hinzufügen und übergeben zwei Werte 10 und 15. Es fügt einfach diese beiden Werte hinzu und wir erhalten die Werte 25.

Aber in der zweiten Funktion hinzufügen, wenn wir zwei Doppel -Typ -Werte 10 übergeben.50 und 10.25, dann tritt das Problem im Summenergebnis auf. Denn hier passieren wir zwei doppelte Werte Arten von Werten innerhalb der Ganzzahlvariablen. Infolgedessen wird ein falsches Ergebnis gezeigt.

Um dieses Problem zu lösen, stellen wir Vorlage ein.

B. Programmierbeispiel 2 der Funktionsvorlage

#enthalten
Verwenden von Namespace STD;
Vorlage // Funktionsvorlage einführen
C add (c x, c y)

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

int main ()

Summe (10, 15);
Summe (10.50, 10.25);

Ausgang

Erläuterung
Wo wir die Funktion hinzufügen, schreiben wir die Schlüsselwortvorlage. Dann schreiben wir in der Winkelhalterung Klassenschlüsselwort. Schreiben Sie dann einen Platzhalter namens C. Danach in der Funktion hinzufügen, in der wir den Datentyp -Ganzzahl geschrieben haben, werden all diese Ganzzahl durch den Platzhalter C ersetzt. Dieser Ort Halter C wird durch den richtigen Datentyp ersetzt, wenn wir die Werte innerhalb der Summenfunktion übergeben.

Wenn wir 10 und 15 bestehen, wird C durch die Ganzzahlwerte ersetzt, jedoch im zweiten Fall, wenn wir zwei Doppel -Typ -Werte 1 übergeben.50 und 10.25, dann wird C durch die Doppel -Datentypen ersetzt. Es ist der Vorteil der Verwendung der Vorlage im Programm.

C. Programmierbeispiel 3 der Klassenvorlage

#enthalten
Verwenden von Namespace STD;
Klassenbeispiel

Privatgelände :
int x, y;
öffentlich :
Beispiel (int a, int b)

x = a;
y = b;

Hohlraumtest ()

If (x> y)

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

anders

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


;
int main ()

Beispiel OB1 (10, 15);
OB1.prüfen () ;
Beispiel OB2 (10.50, 10.25)
OB2.prüfen() ;
Rückkehr 0;

Ausgang

Erläuterung
Hier deklarieren wir eine Klasse namens Beispiel. In der Klasse nennen wir das Konstruktor -Beispiel und bestehen zwei Variablen vom Typ Ganzzahl, um den Wert der Variablen x und y zuzuweisen. Die Testfunktion zeigt uns, welcher Wert der größte ist.

In der Hauptfunktion gibt es beim Erstellen von Objekt -OB zwei Werte 10 und 15, wenn wir das richtige Ergebnis erstellen, das richtige Ergebnis.

Wenn wir jedoch im nächsten Fall zwei Doppel -Datentyp -Werte innerhalb der Variablen vom Typ ganzzahliger Typ übergeben, zeigt dies ein falsches Ergebnis an.

Um dieses Problem erneut zu beheben, stellen wir die Vorlage im nächsten Programm ein.

D. Programmierbeispiel 4 der Klassenvorlage

#enthalten
Verwenden von Namespace STD;
Vorlage
Klassenbeispiel

Privatgelände :
C x, y;
öffentlich :
Beispiel (c a, c b)

x = a;
y = b;

Hohlraumtest ()

If (x> y)

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

anders

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


;
int main ()

Beispiel OB1 (10, 15);
OB1.prüfen() ;
Beispiel OB2 (10.50, 10.25);
OB2.prüfen() ;
Rückkehr 0;

Ausgang

Erläuterung
Vor der Definition der Beispielklasse schreiben wir eine Zeile:

Vorlage < class C >

Wie wir bereits erläutert haben, ist die Vorlage ein Schlüsselwort. Dann schreiben wir in der Winkelhalterung die Schlüsselwortklasse, dann einen Platzhalter namens C.

Danach muss jeder ganzzahlige Datentyp durch c ersetzt werden.

Wenn wir zwei Ganzzahltypen Werte 10 und 15 übergeben, wird C durch die Ganzzahlvariablen ersetzt. Im nächsten Fall, wenn wir zwei Doppelwerte 10 übergeben.50 und 10.25, dann wird C durch den Doppel -Datentyp ersetzt.

Der Vorteil ist, dass wir für den unterschiedlichen Datentyp keinen anderen Code schreiben.

Abschluss

Diskussion im Detail über das Konzept der Vorlage Es ist uns klar, dass wir durch das Erstellen von Vorlage mit unterschiedlichem Datentyp in einem einzigen Programm oder in einem Generalisierungsprogramm arbeiten können.