当从基类私有继承时,我可以说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 的公共成员,而不是它的受保护或私有成员,那就更好了。这只是一个奖金。