[comp.lang.c++] Help with TC++

djakman@fwi.uva.nl (Kemal Djakman (I89)) (01/28/91)

// Could someone help me here?
// This is supposed to be a simple appl. of the 'virtual' inheritance in C++
// Expected result is    a: A A       But the result I got is    a: A A
//                       b: B A                                  b: A A
//
// (Only when compiled with Borland's Turbo C++ v1.0 - official patch level 1)

#include <stdio.h>

class A {
public:
virtual char f()  { return 'A'; }
        char g()  { return 'A'; }

        char testF()  { return f(); }
        char testG()  { return g(); }
};


class B : public A {
public:
        char f()  { return 'B'; }
        char g()  { return 'B'; }
};


int main() {
    A a;  B b;
    printf("a: %c %c\n", a.testF(), a.testG());
    printf("b: %c %c\n", b.testF(), b.testG());

    return 0;
}

// end of virtual inheritance test program
-- 
----- Kemal Djakman -----