All posts by kpark

WIN32 Console Program Using MFC Classes

.NET2005


  • 프로젝트 새로 만들기

    • 메뉴에서 File->New->Project->Visual C++ 템플릿->Win32->Win32 Console Application를 선택한 후 “프로젝트 이름(예를 들어, Console)”을 적고 확인버튼을 누른다.
    • Console Application과 (Add common header files for)MFC을 선택하고 Finish버튼을 누른다.

    사용자 삽입 이미지
    사용자 삽입 이미지 
  • 솔루현 이름으로 폴더가 생김

  • 사용자 삽입 이미지


  • 코드추가

  • 사용자 삽입 이미지


  • Resource 편집

  • 사용자 삽입 이미지


  • 컴파일 (build F7)과 실행 (execute F5 또는 CTRL+F5)

  • 사용자 삽입 이미지

    MFC Utility & Collection Class demo

    MFC Console Program (MFC Utility & Collection Class 비템플렛 예제)
    1214643777.cpp
    MFC Console Program (MFC Collection Template Class 템플렛 예제)
    1395304735.zip
    Array/List/Map/Tree 자료구조 선택가이드
    http://minjang.egloos.com/482401

    MFC Collection Class
    http://msdn.microsoft.com/en-us/library/942860sh(VS.71).aspx


    COLLECT Sample: MFC Collection Class Demo
    http://dis.dankook.ac.kr/lectures/hci07/entry/COLLECT-Sample-Illustrates-MFC-Collection-Classes

    Hello Windows Programming

    HelloSDK
    -WndProc함수의 WM_PAINT 에서 “Hello, SDK” 화면출력
    -WndProc함수의 WM_LBUTTONDOWN 에서 왼쪽마우스버튼을 누르면 “마우스를 클릭했습니다.” 메시지박스
    -WndProc함수의 WM_KEYDOWN 에서 키보드중 ESC 누르면 “프로그램을 종료합니다.” 메시지박스뜨고난 후 종료
    1132816891.cpp
    HelloMFC
    -CMainFrame::OnPaint() 에서 “Hello, SDK” 화면출력
    -CMainFrame::OnLButtonDown(…) 에서 왼쪽마우스버튼을 누르면 “마우스를 클릭했습니다.” 메시지박스
    -CMainFrame::OnKeyDown(…) 에서 키보드중 ESC 누르면 “프로그램을 종료합니다.” 메시지박스뜨고난 후 종료

    1060132275.cpp

    실습숙제1 (Due by 9/19 금 24시까지)


    □ 단원 : C/C++


    □ 목표 : 객체지향 프로그래밍

    □ 주요 연습 내용 : C++ 생성자, 상속, 멤버함수 정의 및 사용연습

    □ 준비자료 : 1_CPerson.zip (Person.cpp, Person.h, Student.cpp, Student.h, main.cpp)

    1113967562.zip
    참고: VC++는 win32 console로 작성한다.
    http://dis.dankook.ac.kr/lectures/hci07/entry/WIN32-Console-Program



    연습문제 Ex1 (Due by 9/19 금 24시까지)
    -cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC++ 2005 file, 보고서를 학번_이름_Ex1.zip으로 묶어서 낼 것. 보고서 (30%)


    [연습문제]
    1. CPerson 클래스를 정의하라. (20%)
    CPerson의 멤버 변수로는 이름, 아이디, 전화번호, 주소가 포함된다.
    – char * _name;
    – int _id;
    – char * _phone;
    – char * _addr;
    그리고 멤버 함수는 다음과 같은 기능을 한다.
    – CPerson(); // default constructor 기본 생성자 함수
    – CPerson(char *, int, char *, char *); // conversion 형변환 생성자 함수
    – CPerson(const CPerson&); // copy constructor 복사 생성자 함수
    – CPerson& operator=(const CPerson&); // operator= 함수
    – virtual ~CPerson(); // destructor 소멸자 함수
    – virtual void Show(); // CPerson의 이름, 아이디, 전화번호, 주소를 보여줌
    – char * GetName() const; // CPerson의 이름 (_name)을 돌려줌
    – int GetID() const; // CPerson의 아이디 (_id)을 돌려줌
    – char * GetPhoneNumber() const; // CPerson의 전화번호 (_phone)을 돌려줌
    – char * GetAddress() const; // CPerson의 주소 (_addr)을 돌려줌


    2. CPerson 클래스의 입출력을 위한 operator<< 함수와 operator>> 함수를 작성한다. (힌트: operator>> 함수에서는 “Please Enter Name: “을 호출하여 화면출력한 후에 cin의 getline 함수를 이용해서 한줄씩 char 값을 받는다. 마찬가지로, “Please Enter ID#: “, “Please Enter Phone#: “, “Please Enter Address: “로 화면출력 한 후에 입력값을 받는다.) (10%)
     friend std::ostream& operator<<(std::ostream&, const CPerson&);
     friend std::ostream& operator<<(std::ostream&, const CPerson*);
     friend std::istream& operator>>(std::istream&, CPerson&);


    3. CStudent 클래스는 CPerson으로부터 파생한 클래스로 성적평균 멤버변수를 추가로 가지고 있다. (20%)
    – float _gpa;
    그리고 멤버 함수는 다음과 같은 기능을 한다.
    – CStudent(); // default constructor 기본 생성자 함수
    – CStudent(char *, int, char *, char *, float); // conversion 형변환 생성자 함수
    – CStudent(const CStudent&); // copy constructor 복사 생성자 함수
    – CStudent& operator=(const CStudent&); // operator= 함수
    – virtual ~CStudent(); // destructor 소멸자 함수
    – virtual void Show(); // CStudent의 이름, 아이디, 전화번호, 주소,성적평균을 보여줌
    – float GetGPA() const; // CStudent의 성적평균 (_gpa)을 돌려줌


    4. CStudent 클래스의 입출력을 위한 operator<< 함수와 operator>> 함수를 작성한다. (10%)
     friend std::ostream& operator<<(std::ostream&, const CStudent&);
     friend std::ostream& operator<<(std::ostream&, const CStudent*);
     friend std::istream& operator>>(std::istream&, CStudent&);


    5. main.cpp에서 CPerson 객체와 CStudent 객체를 생성하고 위에서 정의한 각 멤버함수를 테스트하는 routine을 추가하라. (10%)

    C++ Classdemo

    C++ Classdemo
    -Swap 함수의 reference를 이용한 call by reference
    -Swap 함수 overloading
    -Point 클래스와 Point3D 클래스 inheritance
    -inline 함수
    -SetPosition함수에서 default parameter 사용법
    -default copy constructor 사용
    -연산자 overloading operator++()
    -friend 사용 friend std::ostream& operator<<
    -static member variable static int count;

    1096514620.zip