Calling private base methods
Duncan Booth
duncan.booth at invalid.invalid
Fri Apr 13 03:39:11 EDT 2007
"Dan Bishop" <danb_83 at yahoo.com> wrote:
> I have a job as a C++ programmer and once tried this trick in order to
> get at a private member function I needed. Didn't work: Apparently, VC
> ++ includes the access level in its name mangling, so you get linker
> errors.
>
I don't have a copy of VC to hand to test, but I might have tried something
along these lines:
somheader contains:
class Whatever {
private:
void ohnoyoudont(int);
}
My C file:
#define ohnoyoudont blah(){};public: \
inline void sneak(int x){this.ohnoyoudont(x);};private:void ohnoyoudont
#include <someheader>
#undef ohnoyoudont
...
Whatever foo = new Whatever();
int ohyesido = 42;
foo.sneak(ohyesido);
I don't think injecting another couple of non-virtual methods into the
class ought to break anything.
More information about the Python-list
mailing list