whose definition does not appear in any public header file, you can do anything you want. However, you have to recompile and reship any code that does refer to the class definition.
It's acceptable for the class' name to appear in a public header file if it only appears as a forward declaration (for example, class
TFoo;
).