Daniel Ruoso wrote:
Qui, 2008-09-18 às 18:11 +0200, TSa escreveu:
Shouldn't there be a warning in B that $!B::bar overwrites $!A::bar
without an accessor?

Actually, $!B::bar doesn't overwrite $!A::bar... the problem is simply
that $!A::bar is not visible from inside B, and therefore, there's
nothing to be overriden...

May I pose three more questions?

1. I guess that even using $!A::bar in methods of B is an
   access violation, right? I.e. A needs to trust B for that
   to be allowed.

2. The object has to carry $!A::bar and $!B::bar separately, right?

3. How are attribute storage locations handled in multiple inheritance?
   Are all base classes virtual and hence their slots appear only once
   in the object's storage?

Regards, TSa.

"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan

Reply via email to