TEMPLATES
C++ gives us the facility to write a common function that is independent of the data type but which embodies the common set of instruction which could be applied on any data type.
This has some advantages, like ease of code development and code maintenance.
This could be accomplished with the help of templates. Inside the templates we can have some or all data types unspecified. (Any data type is accepted.)
Templates could be created for individual function or a class. Template function is called generic function and class is called generic class.
GENERIC FUNCTION
The syntax for creating a template for generic function is as follows:
Template
Return_type function_name (T arg1, T arg2, T arg3……….)
{
// function statements
}
It should begin with the keyword template.
Ttype is the placeholder name for a data type used by th function.
Prog1:
#include
template
void swapdata(X & a, X & b)
{
X temp;
temp = a;
a = b;
b = temp;
}
void main()
{
int i=10, j=20;
float x=10.1, y=20.2;
char a='p',b='q';
cout<<"i ="<
Class class_name
{
……………
……………
};
Once the generic class is created, we can create its object as follows:
Class_name ob;
Prog 3
#include
template class data
{
T a,b;
public:
void setdata(T m,T n)
{
a=m;
b=n;
}
void add_display()
{
cout<d1;
d1.setdata(10,20);
d1.add_display();
datad2;
d2.setdata(10.1,20.2);
d2.add_display();
}
THE STANDARD TEMPLATE LIBRARY
The standard implementation of c++ provides a set of header files where a large number of useful class templates have been defined. These files contain definitions of the class templates, their member functions and number of global associated functions. This library of class templates and its global functions is known as Standard Template Library (STL).
The most commonly used template classes are as follows:
1. list class
2. vector class
3. pair class
4. map class
5. set class
6. multimap class
7. multiset class
1. List class
It is used to create a sequential container. The objects of this class could be defined as follows
list clist;
list flist;
list ilist;
for using this we have to include the library
#include
C++ gives us the facility to write a common function that is independent of the data type but which embodies the common set of instruction which could be applied on any data type.
This has some advantages, like ease of code development and code maintenance.
This could be accomplished with the help of templates. Inside the templates we can have some or all data types unspecified. (Any data type is accepted.)
Templates could be created for individual function or a class. Template function is called generic function and class is called generic class.
GENERIC FUNCTION
The syntax for creating a template for generic function is as follows:
Template
Return_type function_name (T arg1, T arg2, T arg3……….)
{
// function statements
}
It should begin with the keyword template.
Ttype is the placeholder name for a data type used by th function.
Prog1:
#include
template
void swapdata(X & a, X & b)
{
X temp;
temp = a;
a = b;
b = temp;
}
void main()
{
int i=10, j=20;
float x=10.1, y=20.2;
char a='p',b='q';
cout<<"i ="<
Class class_name
{
……………
……………
};
Once the generic class is created, we can create its object as follows:
Class_name
Prog 3
#include
template
{
T a,b;
public:
void setdata(T m,T n)
{
a=m;
b=n;
}
void add_display()
{
cout<d1;
d1.setdata(10,20);
d1.add_display();
data
d2.setdata(10.1,20.2);
d2.add_display();
}
THE STANDARD TEMPLATE LIBRARY
The standard implementation of c++ provides a set of header files where a large number of useful class templates have been defined. These files contain definitions of the class templates, their member functions and number of global associated functions. This library of class templates and its global functions is known as Standard Template Library (STL).
The most commonly used template classes are as follows:
1. list class
2. vector class
3. pair class
4. map class
5. set class
6. multimap class
7. multiset class
1. List class
It is used to create a sequential container. The objects of this class could be defined as follows
list
list
list
for using this we have to include the library
#include
This uses doubly linked list for storing the elements.
The number of elemtens s list object should have can be specified as follows.
list
The default value can be specified as follows:
List
Member functions of the list class.
1. Push_front(value)
List
Ilist.push_front(1);
2. Push_back(value)
3. pop_front(value)
4. pop_back(value)
5. iterator
6. insert(position,value)
7. find(lower limit, upper limit, value)
8. size()
9. erase(value)
10. clear()
11. empty()
Comments