The design seems very complicated. It's not clear to me what you want to achieve. Why do you have a template base class? Why does it have only protected virtual functions?
You should first think about what you want your program to do. Then think about a (class) design that can fulfill those requirements and only then you should start coding.
Cheers, D Drmmr
Please put [code][/code] tags around your code to preserve indentation and make it more readable.
As long as man ascribes to himself what is merely a posibility, he will not work for the attainment of it. - P. D. Ouspensky
When you overwrite a pure virtual function, it has to have the same signature. Otherwise you haven't actually overwritten it, you just have declared an unrelated virtual function.
Code:
virtual T get_attribs(TiXmlNode* pParent) = 0;
...
D3DXVECTOR3 GetVector3::get_attribs(TiXmlElement* pElement)
So the base class's get_attribs(TiXmlNode* pParent) function is still not defined in the derived class GetVector3 and hence the compiler says that the class contains undefined virtual functions and is an abstract class.
Get this small utility to do basic syntax highlighting in vBulletin forums (like Codeguru) easily.
Supports C++ and VB out of the box, but can be configured for other languages.
Bookmarks