Microsoft PowerPoint - CPP_chap1

Size: px
Start display at page:

Download "Microsoft PowerPoint - CPP_chap1"

Transcription

1 Chap. 1 : C++ 언어및윈도우프로그래밍 = 강의핵심내용 = 1. C++ 프로그래밍언어소개 2. C++ 응용프로그래밍작성 3. 윈도우프로그래밍

2 1.1 C++ 프로그래밍언어소개 C++ 프로그래밍언어 Developed by B. Stroustrup at AT&T in the early 1980s. Superset of the C language commercially most popular among object-oriented languages of today. C++ supports objects classes, subclasses(derived classes) methods(member functions) instance variables(data members) messages(member function calls) multiple inheritance(derivation) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 2

3 주요특징 (significant features) 중첩성 (overloading) 가상함수 (virtual function) 접근제어, visibility control(information Hiding) private, protected, public 다중상속성 (multiple inheritance ) 단점 (drawbacks) 순수한의미의객체지향언어가아님.(a hybrid language) 복잡성증가 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 3

4 Design Issues of C++ a better C data abstraction OOP Why was C chosen as the base language for C++? it is versatile, terse, and relatively low-level. it is adequate for most system programming tasks. it runs everywhere and on everything. it fits into the UNIX programming environments. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 4

5 Observations 1970's : 구조화프로그래밍 (Structured Programming ) 1980's : 구조화프로그래밍에서 OOP로전환 1990's : 객체지향프로그래밍시대 (Age of OOP ) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 5

6 몇가지용어들 (terminologies ) 객체 (object) A self-contained software structure which usually models an application domain entity. 객체 = 데이터 (data) + 연산 (operations) A combination of data and operations that represents some real world entity. 클래스 (class) A template from which objects with the same representation and same behavior can be created. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 6

7 인스턴스변수 (Instance variables) The variables(data) contained in an object. 메소드 (method) An operation of an object is called method. 메시지 (message) A request to invoke an operation. 행위 (behavior), 연산 (operations) The set of all methods of an object is called its behavior or interface. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 7

8 캡슐화 (encapsulation) The data of an object can only be accessed via the methods of the objects. 자료추상화 (data abstraction) Definition of an abstract type. Encapsulation is needed. 상속성 (inheritance) A mechanism which allows a new class to be incrementally defined from an existing class. 다형성 (polymorphism ) A message may behave differently on different classes. User can send a generic message and leave the exact implementation details to the receiving objects. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 8

9 1.2 The C++ Sample Program Simple I/O Program : hello.cpp #include <iostream.h> void int main() { cout << "Hello, World!\n"; } The operator << writes its second argument onto the standard output stream cout. It is a binary operator. Overloading : Multiple use of a name. << : shift left or output operator int power(int, int); int power(double, double); 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 9

10 프로그래밍과정 Editor Source <hello.cpp> Preprocessor Compiler Header Files <iostream.h> Object File hello.obj Object Files Linker Libraries kernel32.lib Executable File(s) \WinRel\hello.exe \WinDebug\hello.exe 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 10

11 History of C++ Major C++ Timeline 1979 May 1983 Dec 1986 Sep 1987 Nov Dec 1990 May Mar July Nov 1992 Feb Mar May 1994 Sep Work on C with Classes starts C++ named 1st OOPSLA conference 1st USENIX C++ conference(santa Fe, NM) 1st GNU C++ release 1st Boland C++ release 1st ANSI X3J16 Technical meeting Templates accepted(seattle, WA) Exceptions accepted(palo Alto, CA) 1st DEC C++ release 1st Microsoft C++ release 1st IBM C++ release Draft ANSI/ISO standard due. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 11

12 OOPLs 의계보 ALGOL Simula BCPL Smalltalk C Eiffel Objective C C++ Actor 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 12

13 특징 Smalltalk Alan Key at Xerox PARC in the early 1970s. 순수한객체지향언어 지원요소 객체 클래스, 서브클래스 => 단일상속성 메소드, 인스턴스변수 (= 필드 ) 메시지 개발환경에비해성능이낮음. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 13

14 1.3 윈도우프로그래밍이란? 윈도우프로그래밍이란? 사용자가발생시키는이벤트에대한메시지를처리하는것 메시지기반 (Message Driven) 프로그래밍 이벤트기반 (Event Driven) 프로그래밍 윈도우프로그래밍하는방법 Win32 SDK(Software Development Kit) 윈도우에서애플리케이션을개발할때필요한 C 언어용표준라이브러리. MFC(Microsoft Foundation Class) 윈도우에서애플리케이션을개발할때필요한 C++ 언어로작성된클래스라이브러리. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 14

15 기본구조 윈도우프로그램기본구조 초기화부분 : WinMain( ) 메시지를처리하는부분 ( 커널과의통신 ) : WndProc( ) Application program 윈도우커널 초기화 메시지교환 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 15

16 실제프로그램에서의형태 초기화부분 int WINAPI WinMain( ) { 초기화부분 } 메시지처리부분 LRESULT CALLBACK WndProc( ) { 메시지처리루틴 } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 16

17 WinMain 함수 int WINAPI WinMain( { } 초기화함수 어플리케이션 ID 인수 HINSTANCE hinstance, HINSTANCE hprevinstance, LPTSTR lpszcmdline, int ncmdshow) 윈도우상태 1 윈도우클래스생성 2 윈도우클래스등록 3 프레임윈도우생성 4 프레임윈도우화면에표시 5 메시지큐로부터메시지를받아해당프로시저로보냄 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 17

18 프로시쥬어 (procedure) 윈도우는 Message Driven 방식 메시지를처리하는함수를 procedure라함 보통함수명다음에 Proc가붙으면프로시저로간주 프로시저는여러개가될수있다. 윈도우클래스마다수행되는프로시저가다르다. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 18

19 WinProc 함수 윈도우에서들어온메시지를처리하는루틴 : switch( ) 결과값저장자료형 (32 비트 ) LRESULT CALLBACK WinProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { switch(imsg) { 해당메시지에대한처리 } } WinMain() 에서보내지는메시지 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 19

20 실습 : Win32 SDK 어플리케이션작성 주제 윈도우에 I love Window Programming! 텍스트출력 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 20

21 Step 1 : Win32 SDK 프로젝트생성 1. Visual C++ 실행, File/New 프로젝트이름 ( 디렉토리생성 ) 디렉토리변경 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 21

22 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 22

23 File/New Step 2 : 소스코드삽입 Practice1.c 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 23

24 Practice1.c Step 3 : 소스코드입력 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 24

25 Step 4 : 프로그램실행 Build/Build Practice1.exe 실행또는 F7 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 25

26 switch(message) { 에플리케이션분석 } case WM_CREATE : // 윈도우가처음생성메시지가온경우 break; case WM_PAINT : // 화면에출력메시지가온경우 PaintDC = BeginPaint(hwnd,&PaintStruct); // 윈도우에텍스트를출력 TextOut(PaintDC, 10, 10, szmsg, strlen(szmsg)); EndPaint(hwnd, &PaintStruct); break; case WM_DESTROY : // 프로그램종료메시지가온경우 PostQuitMessage(0); break; default : // 그외의메시지가온경우 return DefWindowProc(hwnd, message, wparam, lparam); 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 26

27 TextOut() 함수 텍스트출력하기 기본적인텍스트출력 BOOL TextOut ( HDC hdc, // 디바이스컨텍스핸들 int nxstart, // 문자출력시작점 X 좌표 int nystart, // 문자출력시작점 Y 좌표 LPCTSTR lpstring, // 출력할문자열 int cbstring // 문자열의길이 ) ; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 27

28 DrawText( ) 함수 문자를출력할때어느영역을정하고이영역에출력하는함수 Int DrawText ( HDC hdc, // 디바이스컨텍스핸들 LPCSTR lpstring, // 출력할문자 int nlength, // 출력할문자의수 LPRECT lprect, // 출력할영역 UINT Flags // 출력형식플러그 ) ; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 28

29 출력형식플러그 플러그값 DT_TOP DT_BOTTOM DT_LEFT DT_RIGHT DT_CENTER DT_VCENTER DT_CALCRECT DT_SINGLELINE 내용 설정된영역의상단으로 설정된영역의하단으로 설정된영역의좌측으로 설정된영역의우측으로 (DT_SINGLELINE과함께지정되어야한다 ) 설정된영역의가로중앙에정렬 설정된영역의세로중앙에정렬 (DT_SINGLELINE 과함께지정되어야한다 ) 텍스트가출력할사각형의영역을계산 행바꿈과라인피드를무시하고한줄로출력 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 29

30 자료형 1.4 윈도우프로그램의기본형식 C 언어의표준자료형을대신하는자료형 Windows.h 에정의된윈도우프로그램을위한구조체 구조체로시작하여구조체로끝난다 H가붙지않는이상한것은모두구조체이다. 핸들 (handle) 자원을식별하기위한정수 윈도우시스템은핸들 ( 정수번호 ) 을모든자원에부과 핸들자료형 : H로시작 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 30

31 기본처리방법 핸들을받아서사용하거나, 핸들을만들어서설정하여사용. 예 : 라인을그린다. 그릴화면에대한핸들을받고, 라인을그릴펜이라는핸들을만들고, 펜이라는핸들을이용하여그릴화면핸들에라인을그린다. 핸들처리에관련된함수 Get 계열함수 : 핸들을얻을경우사용 Create 계열함수 : 핸들을만들때사용 Set 계열함수 : 함수를설정할때사용 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 31

32 새로운데이터형식 MSG 구조체 (windows.h) 메시지큐에저장되는정보 ( 메시지 ) 를담고있는구조체 GetMessage( ) : 메시지큐에서메시지를가져와 MSG 구조체에메시지정보를입력 typedef struct tagmsg { HWND hwnd; UINT message; WPARAM wparam; LPARAM lparam; DWORD time; POINT pt; } MSG; 제1장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 32

33 WNDCLASS 구조체 윈도우속성에대한정보를포함하는구조체 typedef struct _WNDCLASS { UINT style; // 윈도우의스타일을지정한다. 정수값의조합으로지정 WNDPROC lpfnwndproc; // 윈도우프로시저에대한포인터를지정한다. int cbclsextra; int cbwndextra; HANDLE hinstance; // 인스턴스에대한핸들 HICON hicon; // 윈도우에서사용될아이콘에대한핸들지정 HCURSOR hcursor; // 윈도우에서사용할커서에대한핸들지정 HBRUSH hbrbackground; // 윈도우백그라운드브러쉬에대한핸들지정 LPCTSTR lpszmenuname; // 윈도우에서메뉴이름지정, 리소스에서사용 LPCTSTR lpszclassname; // 윈도우클래스의이름을명시 } WNDCLASS; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 33

34 PAINTSTRUCT 구조체 텍스트나이미지를윈도우의클라이언트영역에그리고자할때, 사용자정보를포함 typedef struct tagpaintstruct { HDC hdc; // 디스플레이컨텍스트에대한핸들을지정. BOOL ferase; // 윈도우의백그라운드를다시그릴지지정. RECT rcpaint; // 그리고자하는영역을사각형구조체를이용해지정. BOOL frestore; // 시스템에예약되어있으며, 내부적으로이용. BOOL fincupdate; // 시스템에예약되어있으며, 내부적으로이용. BYTE rgbreserved[16]; // 시스템에예약되어있으며, 내부적으로이용. } PAINTSTRUCT; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 34

35 RECT 구조체 사각형형태의좌표를지정하는구조체 typedef struct tagrect { LONG left; // 맨왼쪽의좌표를명시한다. LONG top; // 맨위쪽의좌표를명시한다. LONG right; // 맨오른쪽의좌표를명시한다. LONG bottom; // 맨아래쪽의좌표를명시한다. } RECT; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 35

36 헝가리언표기법 특이하게지정된변수이름 윈도우프로그램에서변수이름지정방법중하나. 특징, [ 표 1-1] 참고 변수이름은데이터형식을의미하는하나이상의소문자로시작. Microsoft의프로그래머인 Charles Simonyi를기리는뜻으로붙여진이름 작성한프로그램에서오류나버그가발생하기전에에러를방지할수있음. 변수의사용과더불어데이터형식을기술해줌으로써, 데이터형식불일치같은코딩오류를방지. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 36

37 윈도우시스템의이해 윈도우는 GUI 이다. 윈도우는멀티태스킹을지원한다. 윈도우는메시지기반구조이다. 윈도우는윈도우프로시저를호출한다. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 37

38 < 실습 1-1> 응용 연습문제 1-1 생성된윈도우에서키보드를눌렀다떼었다했을경우, 윈도우의상하 / 좌우중앙에텍스트를출력해보자. 키보드를눌렀을경우는 " 키보드가눌러졌습니다." 라는텍스트를, 키보드를떼었을경우는 " 키보드가떼어졌습니다." 라는텍스트를출력한다. 제공된소스분석 (project1_1.c) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 38

39 // 1 커널에서들어온메시지를 switch문을이용하여처리 switch(message) { case WM_CREATE : // 윈도우가처음생성메시지가온경우 break; case WM_PAINT : // 화면에출력메시지가온경우 PaintDC = BeginPaint(hwnd,&PaintStruct); TextOut(PaintDC, 10, 10, szmsg1, strlen(szmsg1)); // 윈도우에텍스트를출력 EndPaint(hwnd, &PaintStruct); break; case WM_KEYDOWN : hdc = GetDC(hwnd); GetClientRect(hwnd, &rect); DrawText(hdc, szmsg2, strlen(szmsg2),&rect,dt_singleline DT_CENTER DT_VCENTER); ReleaseDC(hwnd,hdc); break; case WM_KEYUP : hdc = GetDC(hwnd); GetClientRect(hwnd, &rect); DrawText(hdc, szmsg3, strlen(szmsg3),&rect,dt_singleline DT_CENTER DT_VCENTER); ReleaseDC(hwnd,hdc); break; } case WM_DESTROY : PostQuitMessage(0); break; default : return DefWindowProc(hwnd, message, wparam, lparam); // 프로그램종료메시지가온경우 // 그외의메시지가온경우 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 39

40 1.5 Visual C++ 프로그래밍 Visual C++ 개발환경에서의주요작업 프로젝트생성또는열기 (Application Wizard) 메시지핸들러재정의 (Class Wizard) MFC 버추얼메소드재정의 (Class Wizard) 필요한경우새클래스추가 리소스추가및편집 프로젝트빌드 디버깅 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 40

41 목표 AppWizard 사용법 AppWizard를사용한프로그램개발 Project의확장 Device Context 문자열출력 기타Class Graphic 출력 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 41

42 AppWizard Project 생성 (1) 새로운 Project 작성 File / New / Projects 선택 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 42

43 참고 여러가지유형의프로젝트생성 윈도우어플리케이션개발 "MFC AppWizard (exe)" 항목선택, 프로젝트생성 Application Wizard 마법사가기본코드생성 여러가지옵션선택가능 텍스트모드어플리케이션개발 "Win32 Console Application" 항목선택. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 43

44 AppWizard Project 생성 (2) Project 의종류 항목 MFC AppWizard(exe) MFC AppWizard(dll) Win32 Application Win32 Dynamic Link Library 의미 MFC library 를사용하여단독실행가능한프로그램작성 MFC library 를사용하여 DLL 작성 Win32 SDK 를사용하여실행파일작성 Win32 SDK 를사용하여 DLL 작성 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 44

45 AppWizard Project 생성 (3) MFC AppWizard-Step 1 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 45

46 MFC AppWizard-Step 1 : Architecture type Single document 한번에하나의 document 사용 예 : notepad Multiple document 여러 document 사용 예 : 탐색기 Dialog-based 사용자의입력을위해하나의단순한 dialog box 제공 예 : MFC Trace Options 언어 resource text 지원언어 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 46

47 AppWizard Project 생성 (4) MFC AppWizard-Step 2 : Database option 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 47

48 MFC AppWizard-Step 2 : Database option None DB 를사용하지않을때 Header files only 데이터베이스코딩에필요한 AFXDB.H 헤더파일만을 include해준다. 데이터베이스기능은직접코딩해야함. A database view without file support : CRecordView, CRecordset 클래스를상속받아데이터베이스지원기능을생성 문서저장기능 (Serialization) 은생성하지않음 A database view, with file support CRecordView, CRecordset 클래스를상속받아데이터베이스지원기능을생성. 문서저장기능 (Serialization) 도생성. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 48

49 AppWizard Project 생성 (5) MFC AppWizard-Step 3 : OLE option 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 49

50 MFC AppWizard-Step 3 : OLE option OLE 복합문서기능 예 ) MS Word 의문서에 MS Excel 의표를삽입 삽입된 Excel 표를 Word 에서직접편집가능 OLE Server 와 Container 기능을제공하는 Excel 은 OLE Server 이고 기능을제공받아문서에포함하는 Word 는 OLE Container Mini server 독립된어플리케이션으로실행될수는없고 다른어플리케이션에 OLE server 기능제공만해준다 예 : MS Equation Editor Full server 다른어플리케이션에 OLE server 기능을제공하며 독립된어플리케이션으로실행될수도있다 예 : MS Excel 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 50

51 AppWizard Project 생성 (6) MFC AppWizard-Step 4 : 사용지인터페이스설정 툴바, 상태바, 인쇄기능, 문맥도움말기능 소켓프로그래밍하려면선택함 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 51

52 MFC AppWizard-Step 4 : 사용지인터페이스설정 Docking Toolbar : 툴바지원여부선택 Initial Status Bar : 상태바지원연부선택 Printing and Print Preview Print, Print Setup, Print Preview 메뉴기능이생성 Context-Sensitive Help : 도움말기능 3D controls 다이얼로그박스컨트롤의모양을 3차원입체로설정 "How many files would you " 파일메뉴에가장최근에작업한팔일목록을몇개표시할것인가? 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 52

53 Step 4 에서 "Advanced " 버튼을누름 문서의확장자등록 메인윈도우타이틀바제목 파일열기대화상자에표시될파일종류 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 53

54 참고 File type ID 시스템레지스트리에등록되는문서종류이름 Doc Type Name 클래스의파일이름설정 File new name (short name) File New 대화상자에나오는파일의이름설정 OLE server 일경우 OLE object의 short 이름 File type name (long name) OLE server 일경우 OLE object의긴이름 Use Splitter Window splitter 윈도우기능사용 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 54

55 AppWizard Project 생성 (7) MFC AppWizard-Step 5 : 기타사항설정 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 55

56 MFC AppWizard-Step 5 : 기타사항설정 "a shared DLL" MFC 라이브러리가실행파일에포함되지않음 생성되는실행파일의크기는작지만 실행시 MFC의 DLL 파일을필요로함 "a statically linked library" MFC 라이브러리가실행파일에포함됨 생성되는실행파일의크기는커지지만 실행시 MFC의 DLL 파일을필요로하지않음 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 56

57 AppWizard Project 생성 (9) MFC AppWizard-Step 6 : 생성될클래스파일 생성된클래스들 생성된파일 부모클래스를선택 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 57

58 Project Workspace Project Workspace 프로젝트를구성하는클래스, 리소스 (resource), 파일목록을관리 Class View Resource View FileView 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 58

59 특징 Project Workspace - Class View 클래스, 메소드, 멤버변수를보여준다 클래스노드를확장하면클래스의메소드와멤버변수목록을볼수있다 아이콘 클래스 protected 메소드 private 메소드 public 메소드 protected 멤버변수 private 멤버변수 public 멤버변수 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 59

60 클래스이름클릭, 마우스오른쪽버튼을누르면 Go to Definition : 클래스가정의된헤더파일열기 Add Member Function : 클래스에메소드추가하기 Add Member Variable : 클래스에멤버변수추가하기 Add Virtual Function : 클래스에 MFC 버추얼메소드추가하기 Add Windows Message Handler : 클래스에메시지핸들러추가하기 References : 클래스정의된곳, 참조된곳목록보기 Derived Classes : 하위클래스의목록, 메소드, 멤버변수, 정의된곳, 참조된곳보기 Base Classes : 상위클래스의목록, 메소드, 멤버변수, 정의된곳, 참조된곳보기 Group by Access : 멤버의정렬순서선택 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 60

61 실습 1 CTestView 클래스노드를확장하기 2 OnDraw 멤버함수더블클릭하여멤버함수정의로가기 3 GetDocument() 를오른쪽버튼으로클릭 Goto Reference 4 클래스이름더블클릭하여클래스정의로가기 5 전역변수 theapp 더블클릭하여변수정의로가기 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 61

62 Project Workspace - File View 프로젝트를구성하는파일관리 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 62

63 파일이름더블클릭, 텍스트윈도우에파일이열린다. 오른쪽버튼클릭, 컴파일또는컴파일옵션설정 파일살펴보기 Test.cpp Test.h : CTestApp, CAboutDlg 클래스 Test.rc : 리소스소스파일 TestDoc.cpp TestDoc.h : CTestDoc 클래스 TestView.cpp TestView.h : CTestView 클래스 MainFrm.cpp MainFrm.h : CMainFrame 클래스 ReadMe.txt StdAfx.h : pre-compiled header 파일 StdAfx.cpp : pre-compiled header의소스파일 Test.ico TestDoc.ico : 어플리케이션아이콘, 도큐먼트아이콘 Test.rc2 : 리소스에디터로편집할수없는리소스 Toolbar.bmp : 툴바의비트맵파일제1장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 63

64 Project Workspace - Resource View 리소스 : 메뉴, 대화상자, 템플릿, 비트맵, 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 64

65 참고 1 Accelerator : 메뉴항목에대한단축키정의 Dialog : 대화상자템플릿 Menu IDR_MAINFRAME : 메인윈도우메뉴 IDR_TESTTYPE : 도큐먼트윈도우메뉴 String Table : 문자열을리소스로저장 Toolbar Bitmap Cursor : 마우스포인터 Icon 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 65

66 참고 2 어플리케이션의 GUI 각요소들의많은부분은실행화일에리소스형태로추가. 실행화일에추가된리소스는프로그램을다시컴파일하지않고도직접수정가능. 리소스는프로그램이실행될때모두메모리로로드될필요는없고그순간에필요한리소스만로드될수있기때문에효율적인메모리사용이가능. 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 66

67 AppWizard Project 생성 (11) Build(F7) / 실행 (Ctrl+F5) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 67

68 Project 의확장 (1) Code 추가 TestView.cpp : OnDraw(CDC* pdc) { } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 68

69 TestView.cpp : OnDraw(CDC* pdc) { } void CTestView::OnDraw(CDC* pdc) { CTestDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here } pdc->textout(100, 100, "I will find a way or make one.", 30) ; 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 69

70 CDC Class Device Context 화면, 프린터에출력하기위한 DC(Device Context) 정보 화면영역, 선의색상, 채색색상, 글꼴모양 void CTestView::OnDraw(CDC* pdc) { pdc->textout(0, 0, I will., 30) } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 70

71 문자열출력 (1) TextOut() 형식 출력하려는문자열 Bool TextOut(int x, int y, LPCTSTR lpszstring, int ncount); 출력하려는문자열의길이 예 void CTestView::OnDraw(CDC* pdc) { CTestDoc* pdoc = GetDocument(); ASSERT_VALID(pDOC) pdc->textout(0, 0, I will be a Visual C++ expert, 30); } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 71

72 문자열출력 (2) Cstring Class 형식 문자열 Class Bool TextOut(int x, int y, const Cstring& str); Cstring Class 형의객체 예 void CTestView::OnDraw(CDC* pdc) { CTestDoc* pdoc = GetDocument(); ASSERT_VALID(pDOC) CString str( I will be a Visual C++ expert ); pdc->textout(0, 0, str); } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 72

73 문자열출력 (3) Cstring Class 에정의된멤버연산자 멤버함수 = 기능 다른문자열대입 + 문자열연결 == 문자열비교 += 문자열에다른문자열추가 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 73

74 문자열출력 (4) 예 void CTestView::OnDraw(CDC* pdc) { CString str1, str2, str3; str1="object Oriented Programming->"; str2="visual C++!!!"; ASSERT_VALID(pDoc); pdc->textout(10, 10, str1); str3 = str1 + " " + str2; pdc->textout(10, 50, str3); str1 += " " + str2; pdc->textout(10, 100, str1); } if(str1 == str3){ pdc->textout(10, 150, "True", 4); }else{ pdc->textout(10, 150, "False", 5); } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 74

75 실행결과 문자열출력 (5) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 75

76 문자열출력 (6) Cstring Class 에정의된멤버함수 멤버함수 GetLength( ) Mid(int nfirst, ncount) Left(int ncount) Right(int ncount) MakeUpper( ) MakerLower( ) Format(LPCTSTR lpszformat) 기능문자열길이문자열에서중간문자열추출문자열의왼쪽에서문자열추출문자열의오른쪽에서문자열추출문자열을대문자로변환문자열을소문자로변환서식화된문자열 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 76

77 문자열출력 (7) 예 void CTestView::OnDraw(CDC* pdc) { CString str1, str2, str3, str4, str5; str1="object Oriented Programming->Visual C++!!!"; int i = str1.getlength(); str2.format("length = %d", i); pdc->textout(10, 10, str2); str3 = str1.mid(7, 8); pdc->textout(10, 50, str3); // 문자열길이구하기 // 서식화된문자열 } str4 = str1.left(6); pdc->textout(10, 100, str4); str5 = str1.right(14); pdc->textout(10, 150, str5); str5.makeupper(); pdc->textout(10, 200, str5); str5.makelower(); pdc->textout(10, 250, str5); // 중간문자열추출 // 왼쪽에서문자열추출 // 오른쪽에서문자열추출 // 문자열대문자로변경 // 문자열소문자로변경 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 77

78 실행결과 문자열출력 (8) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 78

79 문자열출력 (9) DrawText () 형식 출력하려는문자열 int DrawText(LPCTSTR lpszstring, int ncount, LPRECT lprect, UINT nformat); 예 출력하려는문자열의길이출력영역출력형식 void CTestView::OnDraw(CDC* pdc) { RECT DTRECT; CHAR *MyStr= " 천리안 \ 특집 1 천리안과함께떠나는 98 년메뉴여행 \ 특빕 2 사이버저널리즘의결정체, 웹진의세계 "; } SetRect(&DTRECT, 10,10, 200, 200); pdc->drawtext(mystr, -1, &DTRECT, DT_LEFT DT_WORDBREAK); 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 79

80 실행결과 문자열출력 (10) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 80

81 기타 Class (1) Class CRect CPoint CSize 설명 사각영역표현한점의좌표표현폭, 높이등의크기표현 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 81

82 Format 기타 Class (2) Bool DrawEdge(LPRECT, lprect, UINT nedge, UINT nflags) 사각형의속성 사각형속성 (nedge) 값 BDR_RAISEDINNER BDR_SUNKENINNER BDR_RAISEDOUTER BDR_ SUNKENOUTER EDGE_BUMP EDGE_ETCHED EDGE_RAISED EDGE_SUNKEN 사각형의 4 변중그리고자하는변지정 설명 내부가올라간모양내부가내려간모양외부가올라간모양외부가내려간모양내부가내려간모양 & 외부가올라간모양내부가올라간모양 & 외부가내려간모양내부가올라간모양 & 외부가올라간모양내부가내려간모양 & 외부가내려간모양 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 82

83 기타 Class (3) 사각형의 4변중에서그리는변지정 (nflags) 값설명 BF_RECT BF_LEFT BF_BOTTOM BF_ RIGHT EF_TOP EF_TOPLEFT EF_TOPRIGHT EF_BOTTOMLEFT BF_ BOTTOMRIGHT EF_DIAGONAL_ENDBOTTOMLEFT EF_DIAGONAL_ENDBOTTOMRIGHT EF_DIAGONAL_ENDTOPLEFT EF_DIAGONAL_ENDTOPRIGHT 4 변모두그림 좌측변만그림 하변만그림 우측변만그림 상변만그림 상변 & 좌측변만그림 상변 & 우측변만그림 하변 & 좌측변만그림 하변 & 우측변만그림 우측상에서좌측하변으로대각선 좌측상에서우측하변으로대각선 우측하에서좌측상변으로대각선 좌측하에서좌측상변으로대각선 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 83

84 기타 Class (4) 예제 CRect void CTestView::OnDraw(CDC* pdc) { CRect r(10, 10, 200,100); // TODO: add draw code for native data here } pdc->drawedge(r, EDGE_BUMP, BF_RECT); 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 84

85 실행결과 기타 Class (5) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 85

86 Graphic 출력 (1) Rectangle () 형식 Bool Rectangle(int x1, int y1, int x2, int y2); Ellipse () 형식 Bool Ellipse(int x1, int y1, int x2, int y2); MoveTo () 형식 CPoint MoveTo(int x, int y); 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 86

87 Graphic 출력 (2) LineTo () 형식 Bool LineTo(int x, int y); 예 void CTestView::OnDraw(CDC* pdc) { pdc->rectangle(10, 10, 100, 100); pdc->ellipse(150, 10, 300, 100); pdc->moveto(10, 120); pdc->lineto(300, 200); } 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 87

88 실행결과 Graphic 출력 (3) 제 1 장 : C++ 언어및윈도우프로그래밍개요, Q) kkman@sangji.ac.kr 88

1장 윈도우 프로그래밍 들어가기

1장 윈도우 프로그래밍 들어가기 1 장 윈도우프로그래밍들어가기 김성영교수 금오공과대학교 컴퓨터공학부 예제 다음프로그램은언제종료할까? #include #define QUIT -1 int Func(void) int i; cout > i; return i; void main(void) int Sum = 0, i; cout

More information

MFC 프로그래밍

MFC 프로그래밍 윈도우프로그래밍 Visual C++ 2010 MFC Programming 1 장. 윈도우프로그래밍기초 윈도우운영체제의특징 그래픽사용자인터페이스 시스템메뉴타이틀바메뉴최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 상태표시줄 스크롤바 윈도우운영체제의특징 메시지구동구조 윈도우운영체제의특징 멀티태스킹과멀티스레딩 멀티태스킹 (Multitasking) 운영체제가여러개의응용프로그램을동시에실행

More information

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D> 01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Win32 API Windows Programming 1 http://idb.korea.ac.kr DB & Mining LAB. Korea Univ. 최종업데이트 : 2012. 08. 14 1 컴퓨터시스템의주요구성요소 2 2 컴퓨터하드웨어구성 Fetch : 메인메모리에저장되어있는명령어를 CPU 로 Decode : 컨트롤유닛에의해분석 Execution : ALU

More information

Visual C++의 개요

Visual C++의 개요 2.1 MFC 의개요 2.2 MFC 프로그램의구조 2.3 Visual C++ 의시작실습 2-1 Application Wizard 익히기 2.4 SDI 템플릿 2.5 MDI 템플릿 2.6 MFC 애플리케이션아키텍처실습 2-2 간단한 MFC 프로젝트만들기 MFC 의개요 MFC 윈도우애플리케이션을생성하기위해만들어진 C++ 클래스라이브러리 애플리케이션프레임워크를제공

More information

5장 MFC기반 다지기

5장 MFC기반 다지기 5 장 MFC 기반다지기 김성영교수 금오공과대학교 컴퓨터공학부 들어가기 (1) pp.132 ~ 138 비주얼스튜디오에서 MFC 어플리케이션작성 참조 시스템메뉴 메뉴 최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 (Client Area) 스크롤바 상태표시줄 2 들어가기 (2) 3 들어가기 (3) 4 들어가기 (4) 솔루션탐색기확인 WinMain() 함수가없다?

More information

Chapter 1. MFC 시작하기

Chapter 1.  MFC 시작하기 Chapter 1. MFC 시작하기 1. MFC(Microsoft Foundation Class) 개요 2. Visual Studio 2015 프로그램설치하기 3. 마우스클릭프로그램작성 4. 그림그리기프로그램작성 5. 마우스좌표값구하기프로그램작성 1 1.1. MFC 개요 2 1.1.1. C++ 언어 객체지향언어 (Object-Oriented Programming,

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 윈도우프로그래밍및실습 003. 출력 DB & MINING LAB. Korea University 2 nd updated 2012. 08. 18 Last updated 2015. 08. 26 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter How to show some information on your screen

More information

Microsoft PowerPoint - 04windows.ppt

Microsoft PowerPoint - 04windows.ppt Game Programming I Windows 프로그래밍 (1) March 27, 2006 목표 윈도우프로그래밍에서이용되는이벤트구동프로그래밍모델의이해 Direct3D 를이용하는윈도우어플리케이션의작성을위한최소한의코드이해 윈도우 (Win32) 어플리케이션 Direct3D API ( 어플리케이션프로그래밍인터페이스 ) 를이용하기위해필요 Win32 API 를이용해작성

More information

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - 09-CE-5-윈도우 핸들 순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window

More information

<312DBED5BACEBCD328B8D3B8AEB8BB2CB8F1C2F7292DBCF6C1A42E687770>

<312DBED5BACEBCD328B8D3B8AEB8BB2CB8F1C2F7292DBCF6C1A42E687770> 머 / 리 / 말 저자가 단계별로쉽게배우는 Visual C++ 6.0 책을출판한지도벌써 10년이지났습니다. 그동안많은대학에서교재로사용해주시면서많은교수님들과독자들의많은코멘트를받았습니다. 이제 Visual C++ 6.0은새로운운영체제에서호환성이떨어지고 Microsoft 사에서도더이상업그레이드를하지않고실행상의버그가수정되지않아사용상의많은문제점을가지고있었습니다. Visual

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2007년가을학기 9/13/2007 박경신 2 윈도우운영체제특징 그래픽사용자인터페이스 (Graphical User Interface,

More information

歯Lecture2.PDF

歯Lecture2.PDF VISUAL C++/MFC Lecture 2? Update Visual C ++/MFC Graphic Library OpenGL? Frame OpenGL 3D Graphic library coding CLecture1View? OpenGL MFC coding Visual C++ Project Settings Link Tap Opengl32lib, Glu32lib,

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2008년가을학기 9/16/2008 박경신 2 Windows.NET 구조적프로그램에서객체지향프로그램으로 SDK(Software Development

More information

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

초보자를 위한 C++

초보자를 위한 C++ C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

C++ 기본문법 정리

C++ 기본문법 정리 공학 SW 집중강좌 - 프로그래밍언어 Android Programming Chap 1. 객체지향프로그래밍 오병우 컴퓨터공학과 기술동향 프로그래밍방식의변천 기계중심의 Stored-Procedure 기계어, 어셈블리언어 구조적프로그래밍 Pascal, C 잘정의된제어구조, 코드블록, GOTO 문사용억제, 순환호출 (recursion) 과지역변수를지원하는독립형 SUB

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

(Microsoft Word - \301\337\260\243\260\355\273\347.docx) 내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.

10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다. 10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다. (6) 둘다이동할수없으면, 경기가종료된다. (7) 가장많은세균을가진사람이이긴다. 10.2 기초지식

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 윈도우프로그래밍및실습 002. 윈도우프로그래밍의기본 DB & MINING LAB. Korea University since 2007. 09. 03 updated 2012. 08. 18 last updated 2015. 08. 25 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter What is a Window programming

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

슬라이드 1

슬라이드 1 13장직렬화 김성영교수 금오공과대학교 컴퓨터공학부 도큐먼트 / 뷰구조 (1) 도큐먼트와뷰 디스크에저장된파일데이터를읽는경우 도큐먼트객체 뷰객체 파일 사용자 읽기 화면표시 2 도큐먼트 / 뷰구조 (2) 도큐먼트와뷰 사용자가데이터를입력하는경우 도큐먼트객체 뷰객체 파일 사용자 저장 입력 3 도큐먼트 / 뷰구조 (3) 도큐먼트와뷰 입력된데이터를디스크파일에저장하는경우

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

PowerPoint Template

PowerPoint Template 9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

제 1 강 희망의 땅, 알고리즘

제 1 강 희망의 땅, 알고리즘 제 2 강 C++ 언어개요 이재규 leejaku@shinbiro.com Topics C++ 언어의역사와개요 프로그래밍언어의패러다임변화 C 의확장언어로서의 C++ 살펴보기 포인터와레퍼런스 새로운메모리할당 Function Overloading, Template 객체지향언어로서의 C++ 살펴보기 OOP 의개념과실습 2.1 C++ 의역사와개요 프로그래밍언어의역사 C++

More information

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770>

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770> 2010 학년도동계 계절수업시험문제지 출제위원 방송대김강현 학과명학번 - 성 명 감독관확인 ( 인 ) 교과목명 교과목코드 윈도우프로그래밍 3 7 출제범위 교재전체 ( 해당강의포함 ) 문항수 50 문항 [50 문항 2 점 =100 점 ] 유의사항 1. OMR 답안지및문제지인적사항표기는반드시컴퓨터용사인펜으로할것 2. 표기한답안은정정이일절불가하니답안표기에각별히유의할것

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770> 제목 : 미디어정보처리프로그래밍실습모음 일시 : 2002. 6. 15 작성자 : 성용철학번 : 한남대학교정보통신멀티미디어공학부 ( 전자정보통신전공 ) 미디어정보처리프로그래밍실습숙제설명 1.256 X 256 grayscale 의디스플레이프로그램 Resource View 의 menu item 에서 Display 밑에 Raw gray 라마든다음에그림과같이 ID 와

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

C++ Programming

C++ Programming C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )

More information

untitled

untitled MFC MFC MFC AppWizard 來 MFC MFC 類 了 類 Document/View MFC Visual C++ AppWizard MFC 不 力 亮 來 不 Document View 不 列 AppWizard View 類 CEditView 列 列 說 行 不 了 Document/View MFC Application Framework 靈 OLE Document

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

윈도우 프로그래밍

윈도우 프로그래밍 Windows Programming 2013. 3 출처 : 인터넷에서수집한 PT 자료 1. Overview Getting Started (1) 관련도서 Visual C++/API 프로젝트따라하기, 오진환, 컴스페이스 Programming Windows, Charles Petzold, Microsoft Press Windows application Programming

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

04장 메시지 처리 유형

04장 메시지 처리 유형 4 장 메시지처리유형 김성영교수 금오공과대학교 컴퓨터공학부 메시지처리유형 윈도우에서발생하는이벤트에대응하는윈도우메시지를처리 2 장및 3 장의실습예제 자식윈도우에서발생한이벤트를부모윈도우에서처리 WM_COMMAND 메시지처리 실습 4.2 자식윈도우에서발생한사건유형을구분하여처리 Notification code 처리 실습 4.7 Notification code 의한계를극복하여처리

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

그래픽 프로그래밍

그래픽 프로그래밍 제 13 장그래픽프로그래밍 13.1 베지어곡선 실습 13-1 알고리즘을통한베지어곡선그리기 실습 13-2 컨트롤포인트이동및베지어곡선 해상도설정하기 그래픽프로그래밍 베지어곡선 베지어곡선알고리즘은곡선을생성하는대표적이고기본이되는알고리즘이다. MFC 에서의베지어곡선함수 BOOL PolyBezier(const POINT* lppoints, int ncount); lppoints

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

<4D F736F F F696E74202D203032C0E520C0AFC6BFB8AEC6BC20C5ACB7A1BDBABFCD20C1FDC7D520C5ACB7A1BDBA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203032C0E520C0AFC6BFB8AEC6BC20C5ACB7A1BDBABFCD20C1FDC7D520C5ACB7A1BDBA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D> 02 : 02 유틸리티클래스와집합클래스 학습목표 유틸리티클래스를이용하여객체생성법과사용법을익힌다. MFC 에서 C++ 의업캐스팅이적용되는원리를이해한다. 배열, 리스트, 맵클래스동작원리와사용법을익힌다. 콘솔응용프로그램 특징 메시지구동방식을사용하지않으므로 C/C++ 언어에대한지식만있으면곧바로실습이가능하다. 상당수의 MFC 클래스를사용할수있다. 유틸리티클래스, 집합클래스,

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

More information

C++ Programming

C++ Programming C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Microsoft PowerPoint - CPP_chap3

Microsoft PowerPoint - CPP_chap3 3 장. 마우스와키보드메시지 1 1. 능동적입력받기와수동적입력받기 2 학습목표 이벤트위주로직개념을파악한다 메시지개념을파악한다 능동적입력받기 절차적로직프로그램에서입력받기 언제무엇을입력받을지는프로그램의절차적로직에서결정 예 : 텍스트모드 C 프로그램에서문자열을입력받는경우 수동적입력받기 이벤트위주로직프로그램에서입력받기 윈도우환경에서마우스나키보드입력은 Windows

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 손시운 ssw5176@kangwon.ac.kr 실제세계는객체로이루어진다. 2 객체와메시지 3 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 4 객체 5 객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 객체지향프로그래밍응용 Chap 5. 사용자인터페이스 (#1) 2012.10.11. 오병우 컴퓨터공학과금오공과대학교 Contents Menu ToolBar DialogBar StatusBar MessageBox Mouse Cursor Program Icon CFormView Department of Computer Engineering 2 응용프로그램의처리제어

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

Blog

Blog Objective C http://ivis.cwnu.ac.kr/tc/dongupak twitter : @dongupak 2010. 10. 9.. Blog WJApps Blog Introduction ? OS X -. - X Code IB, Performance Tool, Simulator : Objective C API : Cocoa Touch API API.

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

Microsoft PowerPoint - additional08.ppt [호환 모드]

Microsoft PowerPoint - additional08.ppt [호환 모드] 8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!

More information

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4> 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 통합개발환경 통합개발환경 (IDE: integrated development environment) 에디터 + 컴파일러 + 디버거 Visual C++: 이클립스 (eclipse): Dev-C++: 마이크로소프트제작 오픈소스프로젝트 오픈소스프로젝트 통합개발환경의종류 비주얼 C++(Visual C++)

More information

1

1 04단원 컴퓨터 소프트웨어 1. 프로그래밍 언어 2. 시스템 소프트웨어 1/10 1. 프로그래밍 언어 1) 프로그래밍 언어 구분 각종 프로그래밍 언어에 대해 알아보는 시간을 갖도록 하겠습니다. 우리가 흔히 접하는 소프트웨어 들은 프로그래밍 언어로 만들어지는데, 프로그래밍 언어는 크게 2가지로 나눌 수 있습니다. 1 저급어 : 0과 1로 구성되어 있어, 컴퓨터가

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 11. 분리컴파일과 네임스페이스 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr 분리컴파일 프로그램부분 분리된파일에저장 분리되어컴파일 프로그램이실행되기전에상호간에링크됨 클래스정의 사용프로그램에서분리됨

More information