據我所知,不可能調用基類的構造函數。我知道的唯一方法是這樣的:在C++中的一些其他指令後調用基類的構造函數
MyClass::MyClass(/* args */) : Base(/* args */)
{
// ...
}
但這會在開始時調用構造函數。 有什麼辦法可以在構造函數中的其他地方調用它嗎?事情是這樣的:
MyClass::MyClass(/* args */)
{
// ... instructions
Base::Base(/* args */);
// ... other_instructions
}
根據這一What are the rules for calling the superclass constructor?問題,據我所知,沒有辦法,但我讀here,我猜這是可能的,但如果我嘗試,我得到:
error: invalid use of 'class Base'.
我做有問題?是否有可能以某種方式做到這一點,或者有沒有其他可能的解決方案來滿足這種需求?
謝謝!
編輯:我明白我忘了一個關鍵點:基類是框架的一部分,因此如果可能的話,不用修改它就可以。
問題是:*你爲什麼需要這個?* – 2011-05-05 08:49:42
答案是 - 不。 – 2011-05-05 08:53:17
由於某種原因,我不能重申這個問題,添加OOP作爲標籤應該是approppriate我認爲。 – amit 2011-05-05 08:59:16