#include /****************** Singleton pattern static 필드는 여러 객체에 의해서 값이 공유된다. 이러한 특징을 이용해서 static을 이용한 패턴이 존재하며 그 대표적인 것이 Singleton 패턴. ******************/class cSingleton{private:static cSingleton*mpSingle; private:cSingleton(){}~cSingleton(){} public:static cSingleton* getSingleton(){if( mpSingle == NULL )mpSingle= new cSingleton(); return mpSingle;} void test(){printf("hi\n");}}; cSingleton* ..
#include #include class cComputer// abstract class (추상클래스){public:enum{NOTEBOOK= 1,DESCTOP}; virtual void getCategory() = 0;}; class cNotebookComputer : public cComputer{public:void getCategory(){printf("Notebook Compuer\n");}}; class cDesctopComputer : public cComputer{public:void getCategory(){printf("Desctop Computer\n");}}; class cComputerManager // Factory Method{public:static cComputer* ge..
* 이 방법은 Project Ex에서 사용한 방법입니다. * DirectX에서 랜더링할때 Radian값을 설정해 회전하는 방식으로 했습니다. 공식자체는 다른곳에서 사용해도 무관할듯 합니다. * 이미지의 중심점을 축으로 회전을 시키는 방식입니다. - 이미지의 밑변과 높이를 구한다. 높이 = 나중좌표.y - 이미지의 중심점.y; 밑변 = 나중좌표.x - 이미지의 중심점.x; * 만약 이미지의 밑변이 0이라면 강제적으로 1로 값을 넣어줘야 정확한 회전각이 나옵니다. 회전은 시계방향으로 회전을 하게 됩니다. 따라서 중심을 축으로 왼쪽은 +각도, 오른쪽은 -각도가 나오게 됩니다.(180도 기준) if(밑변 < 0) 회전각 = 아크탄젠트(높이/밑변) * 180도 / 원주율(3.14); else 회전각 = 아크탄젠트..