是否有任何简单的方法来公开私有父类c ++的方法

6 c++

有没有办法直接暴露私有父类的一些方法.在下面的例子中,如果我有一个Child类型的对象,我希望能够直接调用其父类的方法a(),而不是b(); 当前的解决方案产生了很多样板代码,特别是如果有很多参数的话.

class Parent {
    public:
        void a(int p1, double p2, int p3, std::vector <int> &p4);
        void b();
    };
class Child : private Parent {
    public:
        void a(int p1, double p2, int p3, std::vector <int> &p4) {
            Parent::a(p1, p2, p3, p4);
            }
   };
Run Code Online (Sandbox Code Playgroud)

Unc*_*ens 12

您可以使用using声明.

class Child : private Parent {
    public:
        using Parent::a;
   };
Run Code Online (Sandbox Code Playgroud)