Calling private base methods

7stud bbxx789_05ss at yahoo.com
Thu Apr 12 23:31:27 EDT 2007


On Apr 12, 2:02 pm, Duncan Booth <duncan.bo... at invalid.invalid> wrote:
> "7stud" <bbxx789_0... at yahoo.com> wrote:
> > On Apr 12, 5:04 am, Duncan Booth <duncan.bo... at invalid.invalid> wrote:
> >> "7stud" <bbxx789_0... at yahoo.com> wrote:
> >> > On Apr 12, 2:47 am, "Jorgen Bodde" <jorgen.maill... at gmail.com> wrote:
> >> >> Is it possible to call a private base method? I come from a C++
> >> >> background, and I liked this construction as my base class has helper
> >> >> methods so that I do not have to  duplicate code.
>
> >> > I'd like to see some C++ code that does that!
>
> >> Easy:
>
> >> #define private public
> >> #include <someheader>
> >> #undef private
>
> >> then call the private methods as much as you want.
>
> > lol.  I don't see any private methods being created there.
>
> You should have looked in someheader:
>
> class Whatever {
>    private:
>       void ohnoyoudont(int);
>
> }
>
> then back in the C file:
>
> ...
> Whatever foo = new Whatever();
> int ohyesido = 42;
> foo.ohnoyoudont(ohyesido);
> ...
>
> Really, it does work (probably). There are other ways to get at private
> members in C++ but this is the easiest.

I can also access private methods of a class if my sister backspaces
over "private" and types "public" instead.

In your example, no private methods were ever created, and therefore
you are not accessing private methods.





More information about the Python-list mailing list