On Thu, 24 Sep 2009 10:30:09 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:

Steven Schveighoffer wrote:
 In the override(T) world, What does this do?
 auto ls = new LotterySimulation();
ls.draw();
 ???
 I'm not sure this works...
 -Steve

That would be a compile-time error. You'd need to extract the interface you want to work with, and then call against it. In addition, LotterySimulation could offer convenience functions that do that.

OK.  And it seems C# does the same thing, from what others are saying.

Unfortunately, we don't have a distinct scope-resolution operator (like ::) so there wouldn't be a way to do this without casting to the interface, but I suppose in the cases where you are doing this, you aren't generally using the object directly, only through an interface.

-Steve

Reply via email to