How to create explicit class for generic template class in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

template <class T> class Test {
	T a;
public:
	Test(T _a) {
		cout << "template <class T> class Test" << endl;
		a = _a;
	}
	T getVal() { return a; }
};

template <> class Test<int> {
	int a;
public:
	Test(int _a) {
		cout << "template <> class Test<int>" << endl;
		a = _a + _a;
	}
	int getVal() { return a; }
};

int main()
{
	Test<double> dobj(3.14);
	cout << dobj.getVal() << endl;

	Test<long> lobj(88888889);
	cout << lobj.getVal() << endl;

	Test<int> iobj(999);
	cout << iobj.getVal() << endl;

	return 0;
}



/*
run:

template <class T> class Test
3.14
template <class T> class Test
88888889
template <> class Test<int>
1998

*/

 



answered Mar 16, 2018 by avibootz

Related questions

2 answers 257 views
1 answer 225 views
1 answer 248 views
1 answer 231 views
1 answer 213 views
1 answer 220 views
...