Szablon w C ++

Szablon w C ++
W C ++ szablony są potężnymi cechami. Pozwala nam napisać specjalny rodzaj programów. Oznacza to, że możemy utworzyć pojedynczą funkcję lub jedną klasę z różnymi typami danych są używane za pomocą szablonów.

Charakterystyka szablonu

  1. Szablon to słowo kluczowe w c++.
  2. Szablon służy do definiowania szablonu funkcji i szablonu klasy.
  3. Szablon jest procedurą, aby uogólnić nasze funkcje lub klasy, jeśli chodzi o typ danych.

Klasyfikacja szablonów

Istnieją dwa rodzaje szablonów dostępnych w C++.

  1. Szablon funkcji
  2. Szablon klasy.

A. Przykład programowania 1 szablonu funkcji

#włączać
za pomocą przestrzeni nazw Std;
void add (int x, int y)

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

int main ()

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

Wyjście

Wyjaśnienie
Z powyższego programu będziemy wiedzieć, dlaczego szablon potrzebuje w tym konkretnym rodzaju programie.

Tutaj po prostu definiujemy funkcję dodawania, a dwie wartości liczb całkowitych są przekazywane jako argument. Po prostu drukuje sumę tych dwóch zmiennych.

Wewnątrz głównej funkcji wywołujemy funkcję Dodaj i przekazujemy dwie wartości 10 i 15. Po prostu dodaje te dwie wartości i otrzymujemy wartości 25.

Ale w drugiej funkcji dodawania, gdy przekazujemy dwie wartości typu podwójnego 10.50 i 10.25, potem problem występuje w wyniku sumy. Ponieważ tutaj przekazujemy dwa podwójne typy wartości wewnątrz zmiennych całkowitych. W rezultacie pokazano to nieprawidłowy wynik.

Aby rozwiązać ten problem, wprowadzamy szablon.

B. Przykład programowania 2 szablonu funkcji

#włączać
za pomocą przestrzeni nazw Std;
szablon // Wprowadzenie szablonu funkcji
C Dodaj (c x, c y)

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

int main ()

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

Wyjście

Wyjaśnienie
Gdzie definiujemy funkcję dodawania, piszemy szablon słów kluczowych. Następnie w nawiasie kątowym piszemy słowo kluczowe klasy. Następnie napisz uchwyt o nazwie C. Następnie wewnątrz funkcji dodawania, w której zapisaliśmy liczbę całkowitą typu dane, wszystkie te liczba całkowita jest zastępowana przez uchwyt miejsca C. Ten uchwyt C zostanie zastąpiony właściwym typem danych po przekazaniu wartości wewnątrz funkcji sumy.

Po przejściu 10 i 15, C jest zastępowane wartościami całkowitymi, ale w drugim przypadku, gdy przekazujemy dwie wartości typu podwójnego 1.50 i 10.25, następnie C zostanie zastąpione przez podwójne typy danych. Jest to zaleta używania szablonu w programie.

C. Przykład programowania 3 szablonu klasy

#włączać
za pomocą przestrzeni nazw Std;
Przykład klasy

prywatny:
int x, y;
publiczność:
Przykład (int a, int b)

x = a;
y = b;

Test void ()

If (x> y)

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

w przeciwnym razie

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


;
int main ()

Przykład OB1 (10, 15);
OB1.test ();
Przykład OB2 (10.50, 10.25)
OB2.test ();
powrót 0;

Wyjście

Wyjaśnienie
Tutaj deklarujemy klasę o nazwie przykład. W klasie wywoływamy przykład konstruktora i przekazujemy dwie zmienne typu liczb całkowitych, aby przypisać wartość zmiennej x i y. Funkcja testowa pokazuje nam, która wartość jest największa.

Wewnątrz głównej funkcji, kiedy przekazujemy dwie wartości 10 i 15 podczas tworzenia obiektu OB, pokazuje prawidłowy wynik.

Ale w następnym przypadku, gdy przekazujemy dwie wartości typu podwójnego danych w zmiennych typu liczb całkowitych, pokazuje niewłaściwy wynik.

Aby ponownie rozwiązać ten problem, wprowadzamy szablon w następnym programie.

D. PROGRAMOWANIE Przykład 4 szablonu klasy

#włączać
za pomocą przestrzeni nazw Std;
szablon
Przykład klasy

prywatny:
C x, y;
publiczność:
Przykład (C A, C B)

x = a;
y = b;

Test void ()

If (x> y)

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

w przeciwnym razie

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


;
int main ()

Przykład OB1 (10, 15);
OB1.test ();
Przykład OB2 (10.50, 10.25);
OB2.test ();
powrót 0;

Wyjście

Wyjaśnienie
Przed definicją klasy przykładowej piszemy wiersz:

Szablon < class C >

Jak omówiliśmy wcześniej, szablon jest słowem kluczowym. Następnie wewnątrz kątowego wspornika piszemy klasę słów kluczowych, a następnie uchwyt miejsca o imieniu C.

Następnie każdy typ danych liczb całkowitych należy zastąpić C.

Kiedy przekazujemy dwa wartości typów liczb całkowitych 10 i 15, C jest zastępowane zmiennymi całkowitymi. W następnym przypadku, gdy przekazujemy dwie podwójne wartości 10.50 i 10.25, następnie C jest zastępowane przez podwójny typ danych.

Zaletą jest to, że dla innego typu danych nie piszemy innego kodu.

Wniosek

Omawiając szczegółowe informacje na temat koncepcji szablonu, jest dla nas jasne, że tworząc szablon, możemy pracować z różnym typem danych w jednym programie lub w programie generalizowanym.