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.
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 ratings0% 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.
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