[C++](41)
-
3. CWinThread와 AfxBeginThread
Thread를 사용하는 이유 동시성: 스레드를 사용하면 여러 작업을 동시에 실행할 수 있다. 이는 프로그램의 성능을 향상시키고 여러 작업을 병렬로 처리할 수 있도록 한다. 이는 멀티코어 프로세서에서 시스템 자원을 효율적으로 사용할 수 있게 한다. 응답성 향상: 긴 작업을 수행하는 동안 UI가 응답하지 않는 문제를 해결하기 위해 스레드를 사용할 수 있다. 예를 들어, UI 스레드에서는 사용자 입력을 처리하고, 백그라운드 스레드에서는 긴 작업을 처리하여 UI의 응답성을 유지할 수 있다. 백그라운드 작업 처리: 스레드를 사용하여 백그라운드에서 작업을 처리할 수 있다. 이는 네트워크 통신, 파일 I/O, 데이터베이스 쿼리 등과 같은 작업을 백그라운드에서 비동기적으로 수행할 때 유용하다. CWinThread와 A..
2024.04.17 -
2. DC(Device Context)와 CDC
DC와 CDC의 정의 🍃 Windows는 세 가지 동적 연결 라이브러리로 구성된다. 메모리와 프로그램을 관리하는 Kernel 영역 User Interface와 Window를 관리하는 User 영역 화면 처리와 그래픽을 담당하는 GDI - (DC와 CDC 부분) 🍃 DC(Device Context)는? GDI는 Windows 운영 체제에서 화면에 접근하는 것을 담당하는데, 그래픽 출력을 관리하기 위한 추상적인 개념이 DC이다. DC에 저장되어 있는 객체들을 사용해 형식에 맞는 선언을 해줘야 한다. (화면, 프린터, 메모리 등의 출력 장치에 대한 정보를 가지고 있다. DC는 그래픽 요소를 생성하고 제어하는 데 사용된다. 예를 들어, 선을 그리거나 사각형을 채우는 등의 그래픽 작업을 수행할 수 있다. 🍃 CD..
2024.04.17 -
1. MFC의 구성 및 기본 클래스
CObjectCCmdTargetCWinThreadCWinAppCWndCDocument1. CObjectMFC 기본 구조의 최상위 클래스메모리에 클래스를 설정해주는 클래스2. CCmdTarget메세지 처리를 담당하는 클래스키보드 입력이나 마우스 클릭 등 사용자가 입력하면 메세지를 처리한다.3. CWinThreadThread를 관리하는 클래스독립적인 모듈인 스레드는 하나의 프로그램 당 최소 하나가 필요하다.C++에서는 CWinThread와 afxbeginthread를 통해 스레드를 생성해줄 수 있다.4. CWinApp응용 프로그램과 관련된 클래스이다. 따라서, 응용프로그램 자체를 의미하는 클래스라 봐도 무방하다.메인 윈도우 생성, 클래스 등록과 같은 역할을 수행한다.MFC 프로젝트를 구성하는 가장 기본..
2024.04.17 -
은행계좌프로그램 실습 6단계
상속의 목적이 명확하지 않다면, 상속은 하지 않는 편이 나을 수도 있다. 그런데 우리는 앞서 상속이 필요한 가장 대표적이고도 중요한 이유를 확인하였다. 그리고 그 때 얻게 되는 이점이 무엇인지도 확인하였다. 프로젝트 06단계의 도입 본 단계의 프로젝트에서는 이전에 정의한 Account 클래스를 상속하는 다음 두 클래스를 추가로 정의하고자 한다.NormalAccount 보통예금계좌HighCreditAccount 신용신뢰계좌앞서 정의한 Account 클래스는 이자와 관련된 내용이 없다. (실제 이자가 지급되지 않는 계좌도 있다.) 그런데 일반 사용자가 이용하는 예금에는 적게나마 이자가 지급이 되니, 이자의 지급 및 처리방식에 따라서 위의 두 클래스를 추가로 정의하고자 한다위에서 말하는 '보..
2024.04.16 -
30. [C++] 가상 소멸자와 참조자의 참조 가능성
보호되어 있는 글입니다.
2024.04.16 -
29. [C++] 가상 함수(Virtual Function)
실습 문제 문제 1. 예제 EmployeeManager4.cpp를 확장하여 다음 특성에 해당하는 ForeignSalesWorker 클래스를 추가로 정의해보자 "영업직 직원 중 일부는 오지산간으로 시장개척을 진행하고 있다. 일부는 아마존에서, 또 일부는 테러의 위험이 있는지역에서 영업활동을 진행 중에 있다. 따라서 이러한 직원들을 대상으로 별도의 위험수당을 지급하고자 한다." 위험수당의 지급방식은 위험의 노출도에 따라서 다음과 같이 나뉘며, 한번 결정된 직원의 '위험 노출도'는 변경되지 않는다고 가정한다(이는 const 멤버변수의 선언을 유도하는 것이다.) 리스크 A: 영업직의 기본급여와 인센티브 합계 총액의 30%를 추가로 지급한다 리스크 B: 영업직의 기본급여와 인센티브 합계 총액의 20%를 추가로 지..
2024.04.16