微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以将私有基的所有成员拉入继承类的公共范围吗?

如何解决我可以将私有基的所有成员拉入继承类的公共范围吗?

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。