[C++-sig] Re: Pyste bug - static member functions...

David Abrahams dave at boost-consulting.com
Tue Jun 17 16:25:07 CEST 2003


Nicodemus <nicodemus at globalite.com.br> writes:

> David Abrahams wrote:
>
>>Nicodemus <nicodemus at globalite.com.br> writes:
>>
>>  
>>>>I also like Dave's suggestion to use the term 'final' to denote virtual
>>>>functions that  are not expected to be overloadable from Python.
>>>>      
>>>I considered it too, but I thought that "no_override" was more
>>>clear. What you guys think?
>>>    
>>
>>WWJD - What Would Java Do?
>>
>>I think it depends on whether "final" on a Java method means you can
>>write a new (non-virtually-dispatched) one of that name or not.
>>
>
> I believe that in this context, "final" has the same meaning as in
> Java... I do not like it much because the meaning is not obvious from
> the word alone, but perhaps using a familiar term to some other
> programmers might be better than coming up with a new one?

Absolutely.  If that's right, I think we should go with "final".
It's a sensible semantics, too.  There's no reason, once that name
has been "sealed off" from the overriding mechanism, not to allow
people to reuse it.

BTW, it seems likely that people will eventually want to do things like:
      
      # finalize any functions X inherited from base classes
      for b in X.bases:
          for f in b.member_functions:
              final(f)

Pyste probably ought to expose a slick programmatic interface to the
XML info underneath it all... or does it do that already?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com





More information about the Cplusplus-sig mailing list