Lompati ke konten utama
eLearner.app
Modul 8 · Pelajaran 1 dari 217/18 dalam kursus~12 min
Pelajaran modul (1/2)

Templat Fungsi

Templates allow writing generic code in C++. Through templates, we can define functions or classes that operate on generic type parameters, letting the compiler generate the actual code for the specific types requested.

Defining a Function Template

To define a function template, we precede the function definition with the template keyword, followed by the list of type parameters enclosed in angle brackets <>. Commonly, typename or class is used to declare a generic type.

Code
// T is the generic type parameter
template <typename T>
T add(T a, T b) {
    return a + b;
}

Function Call and Template Argument Deduction

When we call the function, we can explicitly specify the type in angle brackets:

Code
int res1 = add<int>(5, 10);
double res2 = add<double>(3.14, 2.71);

However, the C++ compiler is usually able to deduce the type automatically from the passed input parameters (Template Argument Deduction):

Code
int res1 = add(5, 10); // The compiler deduces that T is int

Try it yourself

Latihan#cpp.m8.l1.e1
Upaya: 0Memuat…

Define a function template named myMax that takes two parameters of generic type T and returns the greater of the two.

Memuat editor…
Tunjukkan petunjuk

Start by writing `template <typename T>` followed by the signature `T myMax(T a, T b)`.

Solusi tersedia setelah 3 upaya

Latihan#cpp.m8.l1.e2
Upaya: 0Memuat…

Write a function template named printPair that takes two parameters of different generic types T1 and T2 and prints the two arguments separated by a space using std::cout.

Memuat editor…
Tunjukkan petunjuk

The template declaration must specify two parameters: `template <typename T1, typename T2>`.

Solusi tersedia setelah 3 upaya