On Tuesday 14 January 2003 11:12 pm, Anthony Heading wrote:
> On Tue, Jan 14, 2003 at 04:45:57PM -0600, Frederick Polgardy Jr wrote:
> > On Tuesday 14 January 2003 04:41 pm, Anthony Heading wrote:
> > > So this appears to be forcing a call to the base class version of the
> > > function, which seems rather inappropriate for an rtti() function...
> > >
> > > Should this not read:
> > >                 res = (QCanvasItem*)sipCpp -> rtti();
> >
> > No it doesn't.  That's the whole point of a virtual function call. 
> > rtti() is invoked on the actual object, it's not determined by the ptr
> > class.
>
> Yes....
>
> Let me restate, I was being sloppy by including the cast at all.
>
> Rather than:
>               res = sipCpp -> QCanvasItem::rtti();
>
> should we not have:
>
>               res = sipCpp -> rtti();
>
>
> The current form is forcibly selecting the base class implementation
> of the function.

Yes, so that...

class MyItem(QCanvasItem):
        def rtti(self):
                QCanvasItem.rtti(self)

...doesn't result recurse ad infinitum.

Phil

_______________________________________________
PyKDE mailing list    [EMAIL PROTECTED]
http://mats.gmd.de/mailman/listinfo/pykde

Reply via email to