Learn iPhone, iOS, Objective-c, Swift, cocos2dx, Unity and ….?

iOSやAndroid開発でのエラー解決法や便利tipsのメモ

RSS Feed

cocos2d-x入門編 – コンストラクタとデストラクタについて –

0 Comments
Posted by Kuro on 2013/04/05

cocos2d-xの勉強用にgithubで公開されているシューティングゲームのサンプルを読み込んでいこうと思います。
https://github.com/3ace/CC2DTutor

コンストラクタ

cocos2d-xと言うよりC++の基本ですが、クラス名と同名のメソッドはコンストラクタと言ってオブジェクトの生成時に自動で呼ばれます。

オブジェクト生成時にbulletとasteroidsにNULLを代入しています。
つまり以下のコードと同じ事をしているということだと思います。

デストラクタ

コンストラクタにチルダを付けたものはデストラクタと言ってObjective-Cで言うdeallocのようなものです。
Objective-Cのように[super dealloc]としなくても自動で親クラスのデストラクタも呼ばれるようです。

virtual(仮想関数)

このデストラクタの宣言は”virtual ~GameLayer();”となっています。
このvirtualとは何なのでしょうか。

C++ではvirtualを付けないメソッドは継承先のクラスでオーバライドできないそうです。
virtualを付けないと継承先のデストラクタを呼んだつもりでも継承元のデストラクタしか呼ばれていないので気をつけましょう。
参考サイト:FAQ形式でデストラクタにvirtualを付ける理由をまとめてみた

スポンサードリンク


Filed under cocos2d-x, Programming
You can leave a comment, or trackback from your own site.

0 Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Pingbacks / Trackbacks

スポンサードリンク

Popular Posts