pure virtual w/implementation bug in GCC 3.3?

m. michal017@centrum.sk
Fri Sep 19 06:29:00 GMT 2003


How about this (taken from the standard 10.4 Abstract classes [class.abstract]):

[Note: a function declaration cannot provide both a pure-specifier and a definition ---end note] [Example:

struct C {
          virtual void f() { }=0;                 // ill-formed
};

---end example]

m.

On Thu, 18 Sep 2003 14:52:45 -0500
Eljay Love-Jensen <eljay@adobe.com> wrote:

>Hi Lyle,
>
>>Without actually looking at the standard, isn't a pure virtual function with an implementation simply a contradiction?
>
>No, it's not really the contradiction that it first appears.
>
>The compiler enforces that all derived classes implement the pure virtual function (or become marked as "abstract" themselves).
>
>A pure virtual function can have an imlpementation in that base class, such that derived classes could do a "using basefunc;" to explicitly utilize the base classes behavior implemented in the pure virtual basefunc method.
>
>I grant you, it is a bit unusual.  When I run across one, I tend to do a double take.  But just like have a "const volatile", there are appropriate situations for pure virtuals with implementations.
>
>*grin*
>--Eljay
>
>
>



More information about the Gcc-help mailing list