AI Features

- Examples

In this lesson, we'll learn about some examples of template parameters.

Example 1: Type Parameter

C++
// templateTypeParameter.cpp
#include <iostream>
#include <typeinfo>
class Account{
public:
explicit Account(double amt): balance(amt){}
private:
double balance;
};
union WithString{
std::string s;
int i;
WithString():s("hello"){}
~WithString(){}
};
template <typename T>
class ClassTemplate{
public:
ClassTemplate(){
std::cout << "typeid(T).name(): " << typeid(T).name() << std::endl;
}
};
int main(){
std::cout << std::endl;
ClassTemplate<int> clTempInt;
ClassTemplate<double> clTempDouble;
ClassTemplate<std::string> clTempString;
ClassTemplate<Account> clTempAccount;
ClassTemplate<WithString> clTempWithString;
std::cout << std::endl;
}

Explanation

In the code above, we are identifying the type of different data types that we have passed in the parameter list. We can identify the type of variable passed to the function by using the keyword typeid in line 25. If we pass ...