有没有办法直接暴露私有父类的一些方法.
在下面的例子中,如果我有一个Child类型的对象,我希望能够直接调用其父类的方法a(),而不是b();
当前的解决方案产生了很多样板代码,特别是如果有很多参数的话.
在下面的例子中,如果我有一个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,std::vector <int> &p4) { Parent::a(p1,p2,p3,p4); } };
解决方法
您可以使用using声明.
class Child : private Parent { public: using Parent::a; };