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