Idea is to pass data type as a parameter so that we don’t need to write the same code for different data types.Templates are expanded at compiler time. This is like macros. The difference is, compiler does type checking before template expansion.
Function templates
- Format –
template <class identifier> function_declaration;
or
template <typename identifier> function_declaration;
Example -
=====================================================
template <class myType>
myType GetMax (myType a, myType b) {
return (a>b?a:b);
}
======================================================