On 2013-06-06, 00:32, Adam D. Ruppe wrote:
But I want to clearify this #1:class A { virtual void foo(); } class B : A { virtual void foo(); }
With C# semantics (as has been suggested as a basis): class A { virtual void foo() { writeln("A.foo"); } } class B : A { virtual void foo() { writeln("B.foo"); } } void bar() { B b = new B(); A a = b; a.foo(); // Prints "A.foo" b.foo(); // Prints "B.foo" } -- Simen