兩個班走的構造我有繼承三類如下:是否可以調用一個超類,在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
上述行給出了error: "type 'Class_A' is not a direct base of '
Class_C '".
有沒有辦法,我可以調用的Class_A
構造在子類中Class_C
的方式,而不需要在Class_B
同類型構造的?
難道你不能改變生成B的代碼嗎? – Xeo 2011-05-11 09:09:21
在所有'Class_'前綴中都有。 – 2011-05-11 09:31:28