>Also, in C++ those facilities are regarded as a kinds of classes, which seems >to be rather artifical and misleading. I don't think that's true. Why should they not be considered as a kind of class? Ada implements an almost identical feature - consider: package PVC_Package is type PVC is abstract tagged null record; function op_1 (This : in PVC) return Integer is abstract; end PVC_Package; This is very similar in effect to: class PVC { virtual int Op_1() = 0; } I believe that it is Java that is artificially differentiating between a Class and an Interface. John ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender immediately by telephoning +44(1252) 373232. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ********************************************************************