08/03/12 14:02:09
>>827
C++でもコンストラクタからコンストラクタを呼び出すことは文法違反ではない。
CHoge::CHoge()
{
// 共通の初期化がだらだらと
}
CHoge::CHoge(int type)
{
CHoge(); //一時オブジェクトの生成!!!!!
//いろいろな固有の処理
}
しかし、こんなコードを書いたならば想像してるとおりにはならないだろう。
こういう場合C++では、共通化したい処理をまとめた
(恐らくはprivateな)メンバー関数を別に用意する。
void CHoge::init();
CHoge::CHoge(int type)
{
init(); //共通の処理
//いろいろな固有の処理
}