У меня есть три класса, которые наследуются следующим образом:
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
?