Is this correct or are the functions not properly overriding?
Code:template <typename T> class Test { T* get(); void destroy(); }; template <typename T> T* Test<T>::get() { .... } template <typename T> void Test<T>::destroy() { .... } //Now the class that inherits class SomeClassTest : public Test<SomeClass> { SomeClass* get(); void destroy(); }; SomeClass* SomeClassTest::get() { ...elided... return ( SomeClass* ) Test<SomeClass>::get(); } void SomeClassTest::destroy() { ...elided... }