.NET2005
- 메뉴에서 File->New->Project->Visual C++ 템플릿->Win32->Win32 Console Application를 선택한 후 “프로젝트 이름(예를 들어, Console)”을 적고 확인버튼을 누른다.
- Console Application과 (Add common header files for)MFC을 선택하고 Finish버튼을 누른다.
.NET2005
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
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 누르면 “프로그램을 종료합니다.” 메시지박스뜨고난 후 종료
class template demo
1207897696.zip
http://dis.dankook.ac.kr/lectures/hci07/tag/template
-class template demo
-function template demo
-STL(standard template library) demo
-STL lecture note
□ 단원 : 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
-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;