0

当从基类私有继承时,我可以说public: using Base::member;使该(非私有)成员在继承类中公开。有什么方法可以扩展它以一次获得所有成员?我想要的上下文是我用来避免代码重复的 CTRP 设置。

例子:

struct Base {
  int foo();
  void bar();
  // ...
}

struct A : private Base {
  using Base::*; // not correct syntax

  // should have the effect of
  using Base::foo;
  using Base::bar;
  // ...
};

如果我只能选择 Base 的公共成员,而不是它的受保护或私有成员,那就更好了。这只是一个奖金。

4

0 回答 0