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();