0% found this document useful (0 votes)
92 views8 pages

C++ Templates

The document discusses C++ templates which allow defining generic classes and functions. Templates can be function templates or class templates. Function templates define a set of operations that can be applied to different data types using a placeholder type. Class templates define a generic class that can work with different data types.

Uploaded by

SGamer YT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views8 pages

C++ Templates

The document discusses C++ templates which allow defining generic classes and functions. Templates can be function templates or class templates. Function templates define a set of operations that can be applied to different data types using a placeholder type. Class templates define a generic class that can work with different data types.

Uploaded by

SGamer YT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

C++ Templates

• A C++ template is a powerful feature added to


C++.
• It allows to define the generic classes and
generic functions and thus provides support
for generic programming.
• Generic programming is a technique where
generic types are used as parameters in
algorithms so that they can work for a variety
of data types.
C++ Templates
• Templates can be represented in two ways:
• Function templates
• Class templates
Function Templates
• It is possible to define a template for a function.
• For example, if we have an add() function, we can
create versions of the add function for adding the int,
float or double type values.
• Generic functions use the concept of a function
template. Generic functions define a set of operations
that can be applied to the various types of data.
• The type of the data that the function will operate on
depends on the type of the data passed as a
parameter.
• For example, Quick sorting algorithm is implemented
using a generic function, it can be implemented to an
array of integers or array of floats.
• A Generic function is created by using the keyword
template. The template defines what function will do.
Syntax of Function Template

• template < class Ttype> ret_type func_name(


parameter_list)
• {
• // body of function.
• } Where Ttype: It is a placeholder name for a data type used by the function.
It is used within the function definition.
It is only a placeholder that the compiler will automatically replace this
placeholder with the actual data type.
class: A class keyword is used to specify a generic type in a template
declaration.
Example
#include <iostream>
using namespace std;
template<class T> T add(T &a,T &b)
{
T result = a+b;
return result;
}
int main()
{
int i =2;
int j =3;
float m = 2.3;
float n = 1.2;
cout<<"Addition of i and j is :"<<add(i,j);
cout<<'\n';
cout<<"Addition of m and n is :"<<add(m,n);
return 0;
}
Function Templates with Multiple
Parameters
Syntax
• template<class T1, class T2,.....>
• return_type function_name (arguments of typ
e T1, T2....)
• {
• // body of function.
• }
Example
• #include <iostream>
• using namespace std;
• template<class X,class Y> void fun(X a,Y b)
• {
• std::cout << "Value of a is : " <<a<< std::endl;
• std::cout << "Value of b is : " <<b<< std::endl;
• }

• int main()
• {
• fun(15,12.3);

• return 0;
• }
Member function templates
• Member function templates are function
templates that are members of a class or class
template.
• Member functions can be function templates
in several contexts.
• All functions of class templates are generic but
aren't referred to as member templates or
member function templates

You might also like