есть ли любой простой способ выставить методы частного C++ родительского класса

Есть ли любой способ непосредственно выставить некоторые методы частного родительского класса. В следующем примере, если у меня есть объект Ребенка типа, я хочу смочь непосредственно назвать метод () его родителя, но не 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);
            }
   };
6
задан 28 February 2010 в 16:02
поделиться

2 ответа

Вы можете использовать объявление using.

class Child : private Parent {
    public:
        using Parent::a;
   };
12
ответ дан 8 December 2019 в 16:01
поделиться

Это может помочь: http://www.parashift.com/c++-faq-lite/private-inheritance.html#faq-24.6

class Child : protected Parent
{
  public:
    using Parent::a;
}

Изменить: добавлен паблик .

3
ответ дан 8 December 2019 в 16:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: