C++ Template Programming

The most popular and new concept came in the C++ programming called Template. Template is one of the most important and useful feature of C++. Template provides the idea of generic classes. Use of one function or class that works for all data types is generalization. Template is a mechanism which allows us to declare generic classes and functions.

C++ template programming provides the way to store the same type of data by using the generic concepts. Here we provide the better solution to learn and clear the template programming based on the C++ programming in the simple and easy language. We know that when we create any template then it will take some space for developing the template because it is like a class where we define the several data members and the functions to perform the several task. Here we have explained the all the concept related to the C++ template programming which is available only on the eitworld.com.

Template programming provides the new and better way to implement the strong application using the C++ programming with templates. Template programming provides the most valuable concept of the object oriented programming language which is reuse of the code. It means template programming provides the facility of the reusability means we have to write the code once to perform the same action then we can use this template for the same task where we have to apply the same functionality. This will reduce the time to write the code for each.

Eitworld.com provides the template programming in the easy and simple format by which any student can learn and understand the functionality related to the C++ template programming because template programming provides the faster execution as well as it provides the security. If we want to develop template in C++ programming then we have to specify the template fist by using the keyword template after specifying the header files. Template programming provides the way to connect the similar data into the single template like the array concept in C++. It provides the generics to hold the data which specifies that what kind of data we have to use in the application. Template programming provides the flexibility to the programmers which lead the security mechanism. It can be used for abstraction layer for the application which only shows the essential view to the users which can be usable for the application user. In C++ template programming, A template created for function so that a function works for variety of data types is termed as function template. The function template does not occupy space in memory. Function template allow us to write same code for different data-types.

What is C++ Template ?

  • Template is one of the most important and useful feature of C++.
  • Template provides the idea of generic classes. Use of one function or class that works for all data types is generalization.
  • Template is a mechanism which allows us to declare generic classes and functions. So we can divide templates in two parts:
  • 1.Function Template

    2.Class Template

    Function Template

  • A template created for function so a function works for variety of data types is termed as function template.
  • The function template does not occupy space in memory.
  • Function template allow us to write same code for different data-types.
  • The basic syntax of function template is as follows:
  • template

    function definition;
  • In the above syntax:

  • template is a keyword.
  • In the brackets < and > we write class and any name which serves as the generic type.
  • Here is a simple example of function template:
  • #include<iostream.h>

    #include<conio.h>

    template

    void show(FUNC par)

    {

    cout<<"Displaying "<<typeid(par).name()<<"parameter\t"<<endl;

    }

    void main()

    {

    int x=234;

    float y=34.56f;

    double d=3.444456;

    char ch='P';

    char *s="Template";

    show(x);

    show(y);

    show(d);

    show(ch);

    show(s);

    }
  • In the above program:

    a.FUNC is a generic data type name. It is replaced by actual data type when a specific data type is used with the function call. Instead of FUNC you can use any name C,T,F,FUN etc.
  • b.The statement typeid(par).name give the actual datatype of the variable. c.In the main when the function show() is called with different parameters, depending upon type of parameter is passed, a separate function definition is generated in the memory. d.So the Output of the above program is as follows:

    Displaying int parameter 234

    Displaying float parameter 34.56

    Displaying double parameter 3.44446

    Displaying char parameter P

    Displaying char * parameter Template

    Class Template

  • When a template is written for a class so one single class works for variety of data types is termed as class template.
  • The class template are basically used for creating container classes. That is which can contains varieties of objects of any type.
  • For the class template definition method remains same but instantiation changes.
  • Here is a simple example of class template:
#include<iostream.h>

#include<conio.h>

class A

{

void show()

{

cout<<"hello from A\n";

}

};

class B

{

void show()

{

cout<<"hello from B\n";

}

};

template

class demo

{

T aa;

public:

void showd()

{

aa.show();

}

};

void main()

{

demod1;

demod2;

d1.showd();

d2.showd();

}

In the above example:

  • There are two classes A and B. Both contains a function show(). The class demo simply has one function showd().
  • In the main function when we write demod1; then generic type T is replaced by A and when we call d1.showd () function then inside the showd() function show() function of class A is called as function definition of showd is A.show().
  • Similarly when we write demod1; then generic type T is replaced by B and when we call d1.showd () function then inside the showd() function show() function of class B is called as function definition of showd is B.show().
  • We can also use basic types for generic types like int, float etc.