1
我想約束派生類必須有一個默認構造函數。 我目前想它另一個想法想到一個變態的方式約束 - 派生類必須有一個默認構造函數
template <typename Derived>
class Base{
public:
Base(){
}
virtual ~Base(){
new Derived;
}
};
是保持一個純虛create()方法不帶參數。
但是有沒有其他方法?除了這兩個。 我正在用C++的方式來思考它。但有什麼辦法在PHP中做到這一點(我希望negetive答案LOL)
_你爲什麼要這樣做? – 2010-08-28 17:22:38
['〜Base()'應該是虛擬的或受保護的](http://www.gotw.ca/publications/mill18.htm),因爲它現在被寫入,它會泄漏一個Derived對象,摧毀這個對象,因爲你最終會在無限循環中創建和銷燬析構函數中的對象。 – 2010-08-28 17:24:02
導致這些派生類將由UnPackerMachine自動實例化<> –
2010-08-28 17:26:50