template c++
#include <iostream> using namespace std; // One function works for all data types. This would work // even for user defined types if operator '>' is overloaded template <typename T> T myMax(T x, T y) { return (x > y)? x: y; } int main() { cout << myMax<int>(3, 7) << endl; // Call myMax for int cout << myMax<double>(3.0, 7.0) << endl; // call myMax for double cout << myMax<char>('g', 'e') << endl; // call myMax for char return 0; }
Source: www.geeksforgeeks.org
what is a template in c++
A template is a simple and yet very powerful tool in C++. The simple idea is to pass data type as a parameter so that we don’t need to write the same code for different data types. For example, a software company may need sort() for different data types. Rather than writing and maintaining the multiple codes, we can write one sort() and pass data type as a parameter. C++ adds two new keywords to support templates: ‘template’ and ‘typename’. The second keyword can always be replaced by keyword ‘class’.
how to write a template c++
template <class myType> myType GetMax (myType a, myType b) { return (a>b?a:b); }
Source: www.cplusplus.com
template c++
template <class identifier> function_declaration; template <typename identifier> function_declaration; //Example: template <class Type> void Swap( Type &x, Type &y) { Type Temp = x; x = y; y = Temp; }
c++ template
template <class T> class mypair { T values [2]; public: mypair (T first, T second) { values[0]=first; values[1]=second; } };
Source: www.cplusplus.com
C++ template function
/* C++ template functions are an alternamive way to write a function that can take different data types. C++ Template functions are only one function, so if you need to make a change, then it only has to be done once. Here is an example of a 'get_doubled' templated function: */ #include <iostream> using namespace std; template <typename T> // Now, T is a type of variable, for this scope: void say_something(T input) { cout << input << "\n"; } int main(void) { say_something(45); // Uses a int say_something("Hello"); // Uses a string say_something(90.5); // Uses a float/double return 0; }