[linux-elitists] Opera beta for linux available

Paul J Collins sneakums@eircom.net
Fri Oct 6 13:11:00 PDT 2000


>>>>> "Dan" == Dan Wilder <dan@ssc.com> writes:

    Dan> On Fri, Oct 06, 2000 at 08:15:51PM +0100, Paul J Collins wrote:
    >> >>>>> "Deirdre" == Deirdre Saoirse <deirdre@deirdre.net> writes:
    Deirdre> Console says: pure virtual method called
    >> Oh dear.  Check your constructors, Opera c0derz.

    Dan> The nearest Eiffel equivalent of C++'s "pure virtual" is
    Dan> "deferred", and the Eiffel compiler's gonna smack you upside
    Dan> the head if you try to instantiate a class with deferred
    Dan> features.

So will a C++ compiler.

The message Deirdre reported usually happens when you call a virtual
function implemented in a class derived from the class of the
constructor currently executing.

While the compiler could warn about incorrect calls from constructors,
it couldn't guard against passing the this pointer to a function
outside the current translation unit that calls such a virtual
function.

Stroustrup deals with this issue in Design and Evolution of C++,
Section 13.2.4 (page 282 in my edition).

-- 
Paul Collins <sneakums@eircom.net> - - - - - [ A&P,a&f ]
 GPG: 0A49 49A9 2932 0EE5 89B2  9EE0 3B65 7154 8131 1BCD
``Attention all MP3s: resistance is futile.
  You will be vorbized.''




More information about the linux-elitists mailing list