0

Say I have an interface I:

class I
{
public:
    virtual int f() = 0;
};

and class B implementing I:

class B: public I
{
public:
    int f() override { return 1; }
    ...
}

can I define a (template) class C so that:

  • class C implements I.
  • class C implements everything else B has without writing a wrapper for every B function.
  • class C overrides f().
  • underlying B instance uses unmodified B::f().

?

0 Answers0