template <typeName T>
=> Initialize T variable(T var1) {
// Statements
}
// Call a template function
variable<dataType>(argument);
template <typename T> class className {
// Statements
}
// Call a template class
className<dataType> variable(argument);
template <class className3, class className2> class className1 {
// Statements
}
template <class className3, class className2 = dataType> class className1 {
// Statements
}