Say I have my own built class (I won't cite an example due to length) X, and in the protected section, has a class Y (from an external library I cannot modify, and cannot use inheritance from the class as the member definitions are hidden).
Class Y has about 40 functions. 20 of those I don't want the user to be able to access or modify as it would entail broken functionality (prevented by protected status in class X currently), but the other 20 functions I want the user to be able to access and thus modify class Y (almost as if they had direct access minus the so-called 'dangerous' functions).
Without writing out 20 functions in class X which are exact duplicates of class Y, is there any easier and faster way to grant the user access to the 20 or so functions (like some sort of function forwarding ability or something)?
Expanded note:
It's a bit tricky, because there's a library function that takes a class Y (but won't accept a class X, and people complain at me for casting between classes). Class X is supposed to automate and store information for class Y's operations, be able return a (const) class Y for the function, and allow the user to modify the simple things (such as position of the object) but not the automated things (images, image loop).
Class X being a type of class Y works in automated functions but doesn't allow class X to return a class Y (not being able to reference itself, a modified version of class Y, again, people will complain at me for casting between classes).