1 class PureVirtualIFace {
2 public:
3     virtual void Foo() = 0;
4     virtual void Bar(unsigned int) = 0;
5 };
6 
7 class AnotherInterface {
8 public:
9     virtual void Baz() = 0;
10 };
11 
12 class Implementation : public PureVirtualIFace {
13 public:
14     void Foo() override {}
15     void Bar(unsigned int) override {}
16 };
17 
18 class DoubleImpl : public PureVirtualIFace, public AnotherInterface {
19 public:
20     void Foo() override {}
21     void Bar(unsigned int) override {}
22 
23     void Baz() override {}
24 };
25