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