본문 바로가기

개발24

가상 함수 C++은 다형성을 지원하기 위해서 virtual 키워드를 제공한다.부모 클래스에서 virtual 키워드가 붙여진 함수는 자식 클래스에서 재정의 될 수 있다.이 재정의하는 것을 오버라이딩이라고 한다. 설명을 위해 하나의 클래스와 이를 상속받는 자식클래스를 정의하겠다.class Parent{virtual void Print(){printf("%s", "Parent Print");}}class Child : public Parent{void Print(){printf("%s", "Child Print");} //상속받는 클래스에서의 virtual 키워드는생략가능} Parent* p = new Child;p->Print(); //-> 포인터가 실제 가리키는 클래스인 Child 클래스의 Print가 호출된다. 컴.. 2015. 10. 6.
충돌체크 - OBB AABB충돌의 경우 물체가 회전했을 경우에도 바운딩 박스는 고정된 상태로 충돌을 체크하기 때문에 정밀한 충돌체크가 불가능하다.따라서 좀 더 정밀한 충돌체크를하기 위해서 OBB 충돌체크 방법을 사용한다.OBB(Object Oriented Bounding Box) 한글로 풀어서 방향성이 있는 경계 상자이다.AABB와는 달리 두 바운딩 박스의 축이 모두 다를 수 있어 분리축 이론에 근거하여 각 변들을 분리축들에 모두 투영시켜 비교해봐야한다. 2015. 10. 1.
충돌체크 - AABB 충돌 체크 중 가장 기본이면서 간단하고 쉬운 방법으로 AABB방법이 있다.AABB는 풀어서 Axis aligned Bounding Box라고 하며 해석해보면 축이 나란한 경계 상자 정도로 해석됩니다.한쪽으로 기울어지지 않은 즉 축이 나란한 직사각형 A와 B가 있을 때 A와 B가 충돌하기 위한 조건은 다음과 같다. 1. X축에 대하여 겹치는지 체크 - B.Left + B.Width > A.Left && A.Left + A.Width > B.left 2. Y축에 대해여 겹치는지 체크 - B.Bottom + B.Height > A.Bottom && A.Bottom + A.Height > B.Bottom축마다 2가지 조건이 있으므로 펼쳐보면 총 4가지 조건이 있다. 이 조건들을 모두 충족 시켰을 경우 충돌했다고.. 2015. 10. 1.
c++11에 추가된 기능 - auto 변수 컴파일 타임에 타입이 자동으로 정해지는 변수.따라서 선언시 반드시 바로 초기화를 해줘야한다. ex)int main(){auto Number = 5; //컴파일시 int 형으로 auto Name = "Jong"; //컴파일시 char* 형으로 int iNum = 2;autu* pNumber = &iNum; //컴파일시 int* 형으로} 또한 타입이름이 길고 복잡한 STL에서 효과적로 사용할 수 있다고 한다.for(auto iter = vContainer.begin(); iter != vContainer.end(); ++iter){printf("%d\n", *iter);} 2015. 9. 30.