Можно ли вызвать конструктор суперкласса, на два класса от текущего класса в C ++

У меня есть три класса, которые наследуются следующим образом:

Class_A  
Class_B : public Class_A  
Class_C : public Class_B

Class_A содержит конструктор:

public: Class_A(const char *name, int kind);

Class_B не содержит этого конструктора.

В Class_C ] Я хочу вызвать конструктор Class_A. Примерно так:
Class_C (const char * name, int kind): Class_A :: Class_A (name, kind) {}

Проблема в том, что я не могу добавить промежуточный конструктор в Class_B , потому что Class_B - это сгенерированный код, который восстанавливается каждый раз, когда я очищаю его. Поэтому я не могу вносить какие-либо долговременные изменения в Class_B . Излишне говорить, что приведенная выше строка конструктора в Class_C выдает ошибку : «тип« Class_A »не является прямым основанием для« Class_C »».

Есть ли способ вызвать конструктор Class_A в подклассе Class_C , не требуя конструктора того же типа в Class_B ?

6
задан unwind 11 May 2011 в 09:25
поделиться