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

Reply via email to