文面から察するに,ちょっとコードの読み方を間違っていると思う.
コード:
BaseScene::BaseScene(ISceneChanger* changer)
: mImageHandle(0) //←メンバイニシャライザ
{
//ここはコンストラクタの実装
mSceneChanger = changer;
}
mImageHandleを0に初期化する記述にはメンバイニシャライザを使っているが,
mSceneChangerに関しては,コンストラクタの処理にて引数の値を代入している.
この例は「初期化or代入」で何かしらの違いが出る場面でもないだろうから,
コード:
BaseScene::BaseScene(ISceneChanger* changer)
{
//ここはコンストラクタの実装
mImageHandle = 0; //普通に0を代入
mSceneChanger = changer;
}
でも
コード:
BaseScene::BaseScene(ISceneChanger* changer)
: mImageHandle(0) //←メンバイニシャライザ
, mSceneChanger( changer ) //←こっちもメンバイニシャライザで初期化するぜ!
{
//ここはコンストラクタの実装(何もやることないです)
}
でも,好きに書けば良いと思う.