devxlogo

Restrict the Types of Template Argument for a Template Class

Restrict the Types of Template Argument for a Template Class

You can restrict the type of template arguments for a template class by using the Forward template declaration.

Suppose you have a template class and you want to instantiate it only for types int and double:

//test.htemplateclass test{public:     test(type x);     type getValue();     type m_value;};//test.cpp#include "test.h"template test;//Forward template declarationtemplate test;//Forward template declarationtemplatetest::test(type t):m_value(t){}templatetype test:: getValue (){     return m_value;}#include "test.h"int main(){     test t1(123);		//This will compile     test t2(6.5);	//This will compile          cout  t3(sau);	//This will not compile     return 0;}

devx-admin

Share the Post: