본문 바로가기

Programming60

C++ 기초 [3] [ const 함수 ] 1) const 함수 내에서는 멤버변수의 값을 변경하지 못한다. 2) const 함수 내에서는 const 아닌 함수의 호출이 제한된다. 3) 아래와 같이 선언된 const 참조자나 포인터 변수에서는 const함수만 호출가능하다. 4) const 키워드만으로도 오버로딩이 가능하다. (이 경우 const 객체에서 const 메소드 호출) TestClass *val1 = new TestClass; const TestClass &myobj2 = val1 ; const TestClass *myobj3 = val1 ; [ 생성자 ] 생성자는 객체 생성시 딱 한번 호출된다. 생성자 정의 : 클래스의 이름과 함수의 이름이 동일하게하고 반환형이 없이 만들면 됨. 객체 생성 예 ex) ExClass.. 2013. 2. 27.
C++ 기초 [2] [ 함수 오버로딩 ] C의 경우는 호출한 함수를 찾을 때 "함수의 이름"을 사용하지만 C++의 경우에는 "함수의 이름"과 "매개 변수"를 사용한다. 따라서 함수 이름이 같더라도 "매개 변수"를 이용하여 함수를 구별할 수 있게 된다. 이 특성을 이용해서 매개변수의 개수, 자료형를 다르게 하여 동일한 이름의 함수를 정의하는 것을 C++의 함수 오버로딩(Fuction Overloading)이라고 한다. (반환형은 오버로딩과 무관) ex) void test(int a){ ... } void test(char a){ ... } void test(char a, char b){ ... } [ 인라인 함수 ] #define test(a) ((a)*(a)) C에서 위와 같이 매크로 함수를 정의하여 사용하면 전처리기에 의.. 2013. 2. 26.
C++ 기초 [1] 1) C++에서는 표준 헤더파일의 선언에서는 확장자를 생략하기로 되어 있다. 헤더파일 선언문 : #include 는 과거의 표준 입출력 라이브러리 및 헤더이고 은 새로운 표준 입출력 라이브러리 및 헤더를 의미한다. 2) C++에서의 입력과 출력으로 cout, cin를 사용한다. cout'변수'; 3) C++에서는 지역변수의 선언 위치에 제한이 없다. (C의 경우 불가능하나 C의 새로운 표준에서는 가능) 2013. 2. 26.
쓰레드 - 타이머기반 동기화 정해진 시간이 되면 Signaled 상태가 되는 특성을 가짐. [*] #define _WIN32_WINNT 0x0400 (NT 4.0부터 제공되는 함수이기 때문에 선언해야함.) CreateWaitableTimer( // 타이머 생성 LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, // TRUE : Manual-Reset Mode, FALSE : Auto-Reset Mode LPCTSTR lpTimerName ); SetWaitableTimer( // 타이머 설정 HANDLE hTimer, const LARGE_INTEGER* pDueTime, // 타이머 시간 LONG lPeriod, // 주기(반복하지 않을 경우 0) PTIMERAPCROUTI.. 2013. 1. 3.