Class templates in c++
A class template in the C++ programming language is a user-defined method called declare. A custom class template method allows C++ users to create a generic custom class that can easily work with multiple individual class data types. Instead of developing separate classes for class data types like int, float, double, char, etc. in a C++ program, C++ users can develop a multi-purpose custom class template design and use this custom class template with multiple individual class data types.

The syntax of a custom class template in the C++ programming language.
template <typename T>
class ClassName
{
T data;
public:
void setData(T value)
{
data = value;
}
T getData()
{
return data;
}
};
Here, in this example, T is a class template parameter object or value, which represents a data type object value in an existing user-defined class template.
Example of a custom class template in C++ programming.
#include <iostream>
using namespace std;
template <typename T>
class Total_Value
{
T p, q;
public:
Total_Value(T r, T s)
{
p = r;
q = s;
}
T plus_value()
{
return p + q;
}
};
int main()
{
Total_Value<int> value1(4, 3);
Total_Value<double> value2(3.3, 8.7);
cout << value1.plus_value() << endl;
cout << value2.plus_value() << endl;
return 0;
}
This output is.
7
12
Here in this custom class example.
- Total_Value<int> creates a custom class for integer values in a C++ program.
- Total_Value<double> creates a custom class for double values in a C++ program.
- This allows a single user-defined custom class template to be used multiple times for multiple individual class template data types in a C++ program.
A custom user-defined class template with multiple parameters in a C++ program.
A custom class template created in a user-defined C++ program can have more than one user-defined custom data type parameter object value defined or declared.
template <typename T, typename U>
class Sample
{
public:
T data1;
U data2;
Sample(T p, U q )
{
data1 = p;
data2 = q;
}
void preview()
{
cout << data1 << ” ” << data2;
}
};
Custom class template multiple parameter example.
Sample<int, double> obj(3, 4.9);
obj.preview();
Advantages of a custom class template in C++ programming.
- Code reusability – A user-defined custom class template can be used with more than one multiple class data type value at a time.
- Less code – This allows the user to design a C++ program without having to create multiple separate class creation processes for individual class data types in a custom class.
- Type safety – A custom class data type element parameter object value is checked in detail at compile time.
- Easy maintenance – A custom class template allows you to perform desired modifications to a single root class template if needed.
- Useful for data structures – Class templates are commonly used in C++ programs to apply multiple operations to data types such as stacks, queues, linked lists, arrays, etc.
Function Templates vs. Class Templates in C++ Programming.
| Function template concept in c++ | Class template concept in c++ |
| C++ function template used to create generic program functions with multiple data type value | C++ class template used to create generic classes for multiple data type operation in single class |
| Function template mainly used to operate on program data type values | A class template can contain multiple class data parameter members and member functions |
| Function template example: generic min() function | Class template example: generic stack classname |
| Function template can be called directly in user program | Class template objects are created from the template |
Important Features of Class Templates in C++.
Remember, a class template in the C++ programming language does not automatically create a class object. When C++ users specify single or multiple data type values in a custom class template, a real custom class template is used.
Class Templates Example.
Total_Value<int> obj1;
Total_Value<float> obj2;
In this example, int and float indicate the data type value methods in the existing custom class template that replace the T class.
Class Templates in Short.
In C++ programming, a custom class template is a method for developing a user-defined custom class that can operate with multiple individual class data type parameter values in a C++ program. In C++ programming, it is a generic programming method that allows C++ users to use a program’s source code multiple times and provides compile-time type safety features.

