On Fri, 25 Sep 2009 16:49:27 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:

This leads to the interesting setup in which an interface should ideally define some signatures of to-be-defined functions, but disallow client code from calling them. For the clients, the same interface should expose some higher-level final functions.

There are also some other benefits to allowing defining interface implementation, such as defining one function in terms of another (public) function. For example, take a look at:

http://www.dsource.org/projects/dcollections/docs/current/dcollections.model.Collection.html

Look at the definition for both remove functions, the one which takes no bool can easily be defined in terms of the one that takes a bool reference (in fact, this is what I do in all the implementations).

The only issue is that you run into multiple inheritance issues (as brought up by Yigal)...

vote++

-Steve

Reply via email to