1 2 class FooBaseBase0 3 { 4 public: ~FooBaseBase0()5 virtual ~FooBaseBase0 () {} 6 }; 7 8 class FooBaseBase1 9 { 10 public: Bar()11 virtual void Bar() {} 12 }; 13 14 15 class FooBase: public FooBaseBase0, public FooBaseBase1 16 { 17 public: Bar()18 virtual void Bar() {} 19 }; 20 21 class Foo2: public FooBase 22 { 23 public: 24 ~Foo2 (); 25 virtual void Bar(); 26 }; 27 28 class Foo3: public FooBase 29 { 30 public: 31 ~Foo3 (); 32 virtual void Bar(); 33 }; 34