2010-02-28 12 views
6

¿Hay alguna manera de exponer directamente algunos métodos de clase primaria privada. En el siguiente ejemplo, si tengo un objeto de tipo Child, quiero poder invocar directamente el método a() de su elemento principal, pero no b(); La solución actual genera mucho código repetitivo, especialmente si hay muchos argumentos.¿hay alguna manera fácil de exponer los métodos de la clase padre privada C++

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); 
      } 
    }; 

Respuesta

12

Puede usar la declaración using.

class Child : private Parent { 
    public: 
     using Parent::a; 
    }; 
Cuestiones relacionadas