Java言語からC++言語への変換基礎 |
D2DXを使ったDirectXアプリのソースの記述言語はC++言語です。iアプリから移植する場合、Java言語からC++言語へ変換して記述する必要があります。
クラスの宣言 |
クラス継承の記述が異なります。また、宣言の末尾の"}"の後ろにセミコロン(";")が必要です。例えば次のようになります。
Java | C++ |
class MyObject extends Object { : } |
class MyObject : public _Object { : }; |
変数のポインタ宣言 |
new 演算子を使って構築する配列やオブジェクトは、変数宣言時にポインタ変数として宣言する必要があります。例えば次のようになります。
Java | C++ |
int[] a; String[] b; Random c; |
int* a; _String* b[10]; _Random* c; |
配列の宣言 |
配列の初期化の記述において、"[]"の記述位置が異なります。また、多次元配列の場合、要素数を記述する必要があります。例えば次のようになります。
Java | C++ |
int[] a = { 12, 34, 56 }; int[][] b = { { 1, 2, 3 }, { 4, 5, 6 } }; |
int a[] = { 12, 34, 56 }; int b[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; |
定数配列の宣言 |
クラス・メンバとしての定数配列の宣言はC++言語では使えません。クラスの外に出す必要があります。例えば次のようになります。
Java | C++ |
class MyStage { static final int[] STAGE_NUM = { 3, 2, 4 }; : |
static const int STAGE_NUM[] = { 3, 2, 4 }; class MyStage { : |
クラス・メンバへのアクセス |
new 演算子を使って構築されたオブジェクトのクラス・メンバへのアクセスには"->"を使用します。例えば次のようになります。
Java | C++ |
String a = new String( "あいうえお" ); int b = a.length(); |
_String* a = new _String( "あいうえお" ); int b = a->length(); |