* Matt Emson <[EMAIL PROTECTED]> [Fri, 25 Jan 2008 10:03:59 +0000]:
Matt Emson translation,
that is almost the same as in my
attached trial:
---
  TObj = class
   protected
       fff: integer;
   end;

  TObj2 = class(TObj)
  protected
     fff2: integer;
  end;

  TIntf = interface
     procedure ppp;
  end;

   TObji = class(TObj, TIntf)
   public
      procedure ppp; virtual;
         // AG: virtual only for TObji's
           // descendants will useful
   end;

   TObj2i = class(TObj2, Tintf)
        //you do not need to use multiple
          // inheritance here!! TObj2 already
          // inherits from TObj
        // AG: but TObj2i nowise not bound
          // to TObji, whereas it needed to
          // TObji.ppp be "inherited"
   public
      procedure ppp; virtual;
   end;
---

Actually that looks problematic to me:
---
procedure TObj2i.ppp2;
begin
        TObji(TObj(Self)).ppp2;
        // that looks too arbitrary,
        // have object pascal the
          // same natural solution as
          // C++'s TObji::ppp() call
end;
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to