본문 바로가기

C++

C++ 객체지향 프로그래밍 Chapter 23 다형성과 가상함수 가상함수가 쓰이는 시기는 언제인가. ??? Shape 클래스와 자식 클래스들. 책 페이지 667 의 코드[단일 실행이 가능함] 책 내의 코드 우측에 쓰여있는 문장이나 굵은 글씨로 된 것 들을 모아두었다. 이 코드는 가상함수가 쓰인것이 아니다. #include using namespace std; // 일반적인 '도형'을 상징하는 클래스 class Shape {//Shape 클래스의 정의, 원 , 사각형 같은 일반적인 도형들이 public://공통적으로 가지는 속성들을 여기에 정의한다. 자식 클래스들은 void Move(double x, double y);//이 멤버들을 자동적으로 상속받게 된다.// void Draw() const;//모든 도형 클래스들은 자신을 움직이거나, 그리는 함수가 필요하다. Sh.. 더보기
C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 상속과 포함 이래놓고 포함부터 가르치는 이유는 모르겠다.[제목과 순서의 미스매치.] ----------------------------- Rect::Rect(int left, int top, int right, int bottom) : _topLeft( left, top), _bottomRight( right, bottom) //초기화 리스트, {// ㄴ _topLeft 객체의 생성자를 호출한다. ㄴ _bottomRight 객체의 생성자를 호출한다. // 생성자의 코드 } -------------- 초기화 리스트로 객체의 생성자를 지정하는 코드 생성자의 실행 순서와 소멸자의 실행 순서는 다음과 같다 생성자의 경우 1. 밖의 생성자에서 쓰이는 속에있는 함수들이 먼저 실행된다. 2. 후에 밖의 생성자에서 쓰.. 더보기
그림판 만들기 주석첨부 따라하기 클리어 원본 내용을 하나하나 정성들여 따라하면서. 주석을 달은 파일. 고로 원본은 안올림. 이 불친절함이란! 완성 기념 스크린샷도 찍어야징. 더보기
그림판 따라하기 진행중 마우스 커서를 바꾸어주는 메시지 핸들러 함수 의 코드 내용 BOOL CPaintView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { HCURSOR hCursor ; switch(m_nDogu)//클릭된 도구에 따라 커서의 모양을 바꾸어 지정함. { case DPEN : hCursor = AfxGetApp()->LoadCursor(IDC_PEN) ; break ; case DLINE : hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ; break ; case DELLIPSE : hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ; break ; case DRECT : hCursor = A.. 더보기
커서 제작. 핫 스폿 1. 리소스 뷰 로 간다. 2. 우클릭 -> 추가 -> 리소스 3. 커서 클릭 후 가져오기 or 새로만들기 4. 커서를 그린다. 5. 커서의 Hot spot 을 정한다. 기본적으로 비활성화 되어있기때문에 조정을 할 수 없나.. 라고 생각하기 쉽다. 위의 그리기 도구모움에서 우측 끝에서 2번째인 아이콘을 누르면 핫스폿을 설정할 수 있다. 핫스폿을 핫스폿 설정도구를 통해 변경하면 해당 아이콘의 핫 스폿 값이 바뀐다. 핫스폿은 아이콘이 가리키는 위치 를 말한다. 더보기