I want to make a template that subclasses a parent but changes just one method.

This should be easy, technically speaking, since it should all be generated code. Virtual method is not necessary, but how do I tell the compiler to see the new method?

So for example:
Code:
	template <typename type> class CalcA
	{
	protected:
		long calculate();
        };	

template <typename type> class CalcB: public CalcA<type>
	{
	protected:
		long calculate();
        };
It's forcing me to use virtual methods, but there has to be some way around this. Anyone know?