2009-09-03から1日間の記事一覧

現状のライブラリ構成

とりあえず現段階でのまとめとして自作ライブラリを作ります。継ぎ足し継ぎ足しで醜いコードになってるのでそろそろ一旦整理しとかないとわけがわからなくなりそうです。まずDirect3Dの初期化等を行うDXClassクラスを作ってみました // -- dxclass.h -- #pra…

ある座標に向かって移動させる処理

前回の記事で「画面の中央に向かって移動する処理も追加してみました。」とさらりと言いましたが、実はこれが結構難しい処理だったりします。ある座標に向かって移動させるということは、今いる座標と目標となる座標の角度を求めて、その方向にX座標とY座標…

テンプレートの部分特殊化 応用編

ロベールのC++入門講座 13-13テンプレートの部分特殊化については以前テンプレートの部分特殊化 - (void*)Pないとにて勉強しました。このときやった実装例は、ある型とその型のポインタで部分特殊化するというものでしたが、それ以外にも複雑な部分特殊化も…

実体定義でテンプレートの特殊化

ロベールのC++入門講座 13-13テンプレートの特殊化にはクラス宣言で特殊化する方法と、実体定義で特殊化する方法があります。前者は以前テンプレートの部分特殊化 - (void*)Pないとにて勉強しました。後者は今回勉強する内容になります。実体定義でテンプレ…

基底クラスの関数を派生クラスでprivateに変更する

ロベールのC++入門講座 13-11前回のusingの応用です。 #include <iostream> class CBase { public: void func(char*); void func(int); }; class CSub : public CBase { private: // 基底クラスのfunc関数をprivateにする using CBase::func; }; void CBase::func (cha</iostream>…

usingを利用した継承関係でのオーバーロードのような処理

ロベールのC++入門講座 13-11 #include <iostream> class CBase { public: void func(int); }; class CSub : public CBase { public: void func(char*); }; void CBase::func (int num) { std::cout << num << std::endl; } void CSub::func (char *str) { std::cout <</iostream>…