overloading non-template member functions with template member functions

H

Hicham Mouline

Hello,

I have this code
http://codepad.org/CDOFhSqZ

I have a non templated member function GetSpot(tType) const
and a templated one.

Besides, argument 2 and 3 of the templated have default arguments.

Users of this class call either

class.GetSpot( 10. );

or

class.GetSpot<Linear, Polynomial>( 15. ); // case 2

or

class.GetSpot<Linear, Linear>( 15., Linear(5), Linear(7) );

These actual calls happen in 1 translation unit and so the member functions
are instantiated.

Question 1 : Is this valid C++03?
Question 2 : I would like opinions about the style
Question 3 : with vs2005 debugger, arg2 and arg3 in case 2 are not
constructed properly sometimes.

Question 4: would removing the non templated member, and setting default
template args for Interp and Extrap
be possible with at the same time having default formal args 2 and 3.
Would this then be a better style?

PS: typename boost::call_traits<Interp>::param_type is simply
const Interp&
in this case

regards,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top