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