Original Post
I have a generic "Object" class that is my basic scene node for my scene manager. My scene manager manages certain subclasses of the Object class such as my "Camera", "PointLight", and "SpotLight" classes. The Object class contains the core functionality for managing it's own model transformation matrix which can also be attached to other transformation matrices. Due to this, Object has methods such as "Identity()", "Translate()", and "Rotate()", and "Scale()". Now, certain subclasses won't require the "Scale()" method such as my Camera, PointLight, or SpotLight classes.
When inheriting from these classes in C++, is there a way to remove access to this member function? All of these members are virtual, so what I do is override them with protected methods that literally do nothing. Is this a good practice?
When inheriting from these classes in C++, is there a way to remove access to this member function? All of these members are virtual, so what I do is override them with protected methods that literally do nothing. Is this a good practice?