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)