是否可以调用超类的构造函数,两个类远离C++中的当前类

Joh*_*ore 6 c++ inheritance constructor

我有三个继承如下的类:

Class_A  
Class_B : public Class_A  
Class_C : public Class_B
Run Code Online (Sandbox Code Playgroud)

Class_A 包含一个构造函数:

public: Class_A(const char *name, int kind);
Run Code Online (Sandbox Code Playgroud)

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给出了error: "type 'Class_A' is not a direct base of 'Class_C'".

有没有办法可以调用Class_A子类中的构造函数Class_C,而不需要相同类型的构造函数Class_B

Xeo*_*Xeo 4

如果您无法更改生成的代码B,那么您就不走运了,AFAIK。但是,如果该类A包含这样的构造函数,也许您可​​以添加一个简单的成员函数来设置这两个变量并从C构造函数内部调用它?可能没有那么有效,但至少它有效。