본문 바로가기

프로그래밍79

[그래픽스] 더블 버퍼링(Double Buffering) WinAPI로 간단하게 그림을 그리는 코드를 작성하였다. void ObRect::Render() { MoveToEx(g_MemDC, position.x + 100 * cosf(45 * ToRadian + rotation) * scale.x, position.y + 100 * sinf(45 * ToRadian + rotation) * scale.y, NULL); LineTo(g_MemDC, position.x + 100 * cosf(135 * ToRadian + rotation) * scale.x, position.y + 100 * sinf(135 * ToRadian + rotation) * scale.y); LineTo(g_MemDC, position.x + 100 * cosf(225 * ToRadian.. 2022. 12. 12.
[C++] 추상클래스 and 인터페이스 추상클래스와 인터페이스는 무엇일까. 이를 알기 위해서는 우선 순수가상함수라는 것을 알아야 한다. https://eunsikk.tistory.com/5 [C++] 가상함수 & 순수가상함수 클래스는 내부의 멤버로 변수, 구조체, 함수 등을 가질 수 있다. 이 때, 함수를 정의하고 이를 자식 클래스에서 같은 이름, 같은 매개변수의 함수를 사용하기 위해서는 어떻게 해야 할까? 이 경우 eunsikk.tistory.com 여기서 설명했듯이 순수가상함수는 반드시 자식 클래스에서 재정의가 이뤄져야 하는 가상함수이다. 그리고 이 순수가상함수가 하나라도 포함이 되어 있다면 그것을 바로 추상클래스라고 부른다. 추상클래스의 특징은 바로 객체화가 불가능하다는 것이다. 순수가상함수는 오로지 상속에 사용하기 위한 용도이기 때문에.. 2022. 12. 12.
[C++] 가상함수 & 순수가상함수 클래스는 내부의 멤버로 변수, 구조체, 함수 등을 가질 수 있다. 이 때, 함수를 정의하고 이를 자식 클래스에서 같은 이름, 같은 매개변수의 함수를 사용하기 위해서는 어떻게 해야 할까? 이 경우 사용하는 것이 바로 '가상함수' 이다. 가상함수란, 클래스의 상속 관계에서 부모 클래스가 자식 클래스에게 같은 이름, 같은 매개변수의 함수를 상속시켜 자식 클래스에서도 사용이 가능하게 끔 하는 것을 의미한다. 코드로는 virtual이라는 키워드를 붙여서 사용하게 되는데, virtual이 붙은 함수들은 가상함수 테이블에 그 주소가 등록이 되어 자식 클래스에서 함수를 호출할 때, 위치를 확인하여 찾아갈 수 있게 된다. class Basic { public: virtual void Print(); // virtual .. 2022. 12. 12.