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