DXライブラリ 総合スレッド その4at GAMEDEVDXライブラリ 総合スレッド その4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト11:名前は開発中のものです。 09/08/10 10:16:45 EzwBEj6R フンドルワラタ 12:名前は開発中のものです。 09/08/10 10:52:15 QAwN9V2J フンドレの人はマジでC言語初心者スレとか探した方がいいな 13:名前は開発中のものです。 09/08/10 10:58:48 HlYTjnic 自動リソース管理 ポリモーフィズム これだけでも覚える価値あり ポリモーフィズムはすごいゲームと相性いいしね 14:名前は開発中のものです。 09/08/10 12:31:05 xD0qaraW >>10 分かる分かるw 俺もまさにそうだ。 きっかけはリプレイ機能付けたいな、だったかしら 15:名前は開発中のものです。 09/08/10 15:24:33 Ug4ZM9mI 俺もクラスよく分からんのだが STGの弾作るときに便利だと聞いた 今から弾処理だから勉強してみる予定 16:名前は開発中のものです。 09/08/10 16:52:41 QAwN9V2J structとclassは全く同じ。classはデフォがprivateになっただけの構造体。 メンバ関数は、隠れ引数として構造体へのポインタ*thisがこっそり付いただけ。つまり、 以下の二つは大体同じ意味のコード。 // Cっぽい版 struct vector2d { float x, y; }; inline void rotate_vector2d(vector2d *this, float theta) { vector2d old = *this; this->x = old.x * cosf(theta) - old.y * sinf(theta); this->y = old.x * sinf(theta) + old.y * cosf(theta); } // C++版 struct vector2d { float x, y; void rotate(float theta) { // vector2d *this は隠れ引数として勝手に入る vector2d old = *this; x = old.x * cos(theta) - old.y * sin(theta); // メンバ変数アクセスは勝手にthis->が入る y = old.x * sin(theta) + old.y * cos(theta); } }; 仮想関数は、派生クラスの仮想関数へのポインタ一覧vtblが隠れグローバル定数として 用意されてて、派生クラスの実体にはvtblへのポインタであるvptrが隠れメンバ定数と してくっついてる。で、仮想関数を呼ぶ時はvptrを通して参照する。 thisと違って、vtblやvptrには普通は触れない。触る必要も無いし。 クラスの仕組みはこんなもん。あとは使い方次第。 コンストラクタには変な仕様が色々くっついてるから覚えた方がいいけどな。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch