IT 219

C++ 클래스와 동적 메모리 할당

제3 강 클래스와 동적 메모리 할당동적 메모리란 실행 시간에 할당되어 사용되는 메모리 블록을 말한다. C에서는 동적 메모리를 heap이라고 하지만 C++에서는 Free Store라고 부른다. c++의 new 연산자는 자신이 할당하는 오브젝트의 데이터형, 즉 클래스를 알고 있을뿐만 아니라 자동적으로 클래스의 생성자를 호출하여 할당된 메모리를 적절한 값으로 초기화 한다. Mydata *p;p=new Mydata;p->DisplayData();p=new Mydata(600,700);p->DisplayData(); new는 연산자이므로 매개 변수를 필요로 하지 않는다.또한new 연산자는 메모리를 할당할 오브젝트의 크기와 데이터형을 알고 있으므로 그 데이터형의 포인터를 리턴해 준다. new 연산자를 이용하여 다차..

IT/C and C++ 2005.06.30

[펌] [강좌2] TCP 에코서버와 에코클라이언트 제작하기(이해부분 중요!..

첨으로 써보는 강좌이지만 정말 지금까지 내가 참고했던 강좌들의 필자님들이 존경스러워집니다.정말 별거아닐꺼같은데 손이 많이 가는군요. ^^; 오늘은 저번강좌에서 말했듯이에코서버와 에코클라이언트를 만들어보겠습니다.우선은 무엇보다도 중요한 동작 원리에 대해서 알아보겠습니다.에코란 쉽게생각해서메아리라고 생각하시면됩니다. 간단한 동작원리를 살펴보면 각각 한개의 에코서버와 에코클라이언트를 실행합니다. 접속이 성공한 에코클라이언트는 서버에 입력메시지를 보냅니다. 메시지를 받은 서버는 바로 입력받은 메시지를 되돌려주고 클라이언트는 서버로 부터 받은 메시지를 화면에 출력합니다.잘이해가 안가신다구요?그럼 아래그림을 참조하세요. 이제좀 이해가 가세여? 후~ 다행이네여우선 중점으로 보실것이 산의 역활과 사람의 역활입니다.산은..

IT/네트워크 2005.06.30

Class vs Object 한글 파일 정리

class%C1%A4%B8%AE.hwp Class vs ObjectChapter 1 클래스란 무엇인가?Chapter 2 생성자 함수Chapter 3 소멸자 함수Chapter 4 포함 오브젝트Chapter 5 오브젝트 배열과 오브젝트 동적할당Chapter 6 static 변수와 함수Chapter 7 friend 함수와 클래스Chapter 8 상속(Inheritance)Chapter 9 가상함수(virtual function)Chapter10 다중 상속Chapter 11 연산자 오버로딩Chapter 12 파일 스트림 한글 2004로 정리

IT/C and C++ 2005.06.27

C++ 기초 강좌 한글 정리

C++%B1%E2%C3%CA-626.hwp C++ Programming1시작하면서16읽기 전용 레퍼런스2OOP란?17메모리 동적 할당3cout18메모리 힙을 위한 new4cin19delete 으로 메모리 해제5cerr20함수간의 매개 변수 전달6출력형식 조작21레퍼런스에 의한 호출7입력 조작22레퍼런스전달의 효율성,안전성8영역지정 연산자23레퍼런스 Return(반환)9const 변수24디폴트 매개변수10함수에서 매개변수 전달25Overload 함수11inline 함수26연산자 오버로딩12void 포인트27Class 만들기13레퍼런스(References)28클래스와 구조체 비교14상수에 대한 포인트29접근지정자(public,private)15포인트 상수30멤버 함수 한글2004로 정리 페이지 약 24페이지..

IT/C and C++ 2005.06.27

view 관련해서 ...

1 . 뷰에서 DC 얻으려면 - CClientDC 이용 2. 새파일(new버튼) 눌렀을때 날라오는 메세지. 뷰 - OnInitalUpdate() 도큐먼트 - DeleteContents OnNewDocument() 3. 스크롤 뷰로 만들었어야 되는데 일반 뷰로 만들었을때 - 뷰클래스의 h,cpp 파일에서 뷰클래스를 전부다 스크롤뷰로 replace 해주고 클래스 위자드에서 OninitalUpdate 추가해준다. 4. 스크롤 뷰로 만들었을때 스크롤 사이즈 Set 해주는 부분 - OnInitalUpdate 5. MY뷰클래스를 다른 클래스 등에서 얻는 방법!! * 첫번째 방법 - CMyApp 클래스에 멤버변수 추가 ( CView *m_pView) - theApp 를 extern 으로 선언 한다 - 뷰의 OnCre..

IT/MFC 2005.06.24

[MFC] 임의의 클래스 포인터 얻기(SDI)

* 프로젝트 이름은Test라고 가정. * 중간에 참조되는 모든 클래스의 헤더파일이 인클루드 되어야 함.* 뷰의 헤더가 인클루드 된다면 반드시 그 앞에 도큐먼트의 헤더가 인클루드 되어야 함. 1. 애플리케이션 클래스의 포인터를 얻을 때CWinApp* AfxGetApp() 2. 메인프레임 클래스의 포인터를 얻을 때CWnd* AfxGetMainWnd() 이들 두 함수는 MFC의 전역함수로써 프로그램을 작성하는 도중 어디에서나 사용할수 있다. MFC에서는 Afx~로 시작하는 함수들은 모두 전역함수를 의미한다. 물론 타입 캐스팅을 해야하며, 사용법은 다음과 같다.CTestApp *pApp = (CTestApp *)AfxGetApp(); CMainFrame *pFr = (CMainFrame *)AfxGetMainW..

IT/MFC 2005.06.24

도큐먼트 관련해서

1. 새파일 버튼 눌렀을때 발생하는 함수 - DeleteContents - OnNewDocument 2 . 파일열기 했을때 발생하는 함수 - OnOpenDocument() -> Invalidate 알아서 호출해준다(뷰클래스의 OnDraw 호출해줌) 3. 파일 SAVE 관련 - SetModifiedFlag 설정했을때 저장한다고 ok 누르면 OnSaveDocument(...) 함수 호출한다. ( 메뉴의 ID_FILE_SAVE 을 오버라이드 해도 OnSaveDocument(...) 함수 호출 ) - 메뉴의 ID_FILE_SAVE 을 오버라이드하고 OnSaveDocument(...)도 오버라이드 했을때 일반저장등은 ID_FILE_SAVE 함수 호출하고 SetModifiedFlag 은 OnSaveDocument(..

IT/MFC 2005.06.24