#include <stdio.h>
#include <iostream.h>
typedef unsigned int HANDLE;//디파인하기
class CHandle
{
private:
HANDLE m_handle;
int m_data;
public:
CHandle()
{
m_handle=0;
m_data=0;
}
HANDLE GetHandle() const)//-->const가 붙은 함수
{
printf("gethandle()\n");
return m_handle;
}
//C++의 개체에 대한 Qualification (자격,권한)은 3가지 입니다.--> 개체에 내부의 변수나 함수의 정보
//공개여부를 제한할 수 있습니다.
//1.const,2.mutable,3.volatile입니다.
//const는 개체에 상수성을 부여하는 용도와 멤버함수로써, 개체에 대한 상수성을 엄격하게 정의하는 데
//사용됩니다. 일반함수에서 f( const type )으로 정의하는 것과는 성격이 다름니다.
//멤버데이타에 대하여 단지 읽기만 할 수 있다는 뜻입니다.
//mutable은 개체에 상수성을 부여( const usertype obejct; )했는 데,
//그중 유독 상수적으로 사용하지 못하는 멤버데이타에 대하여 적용합니다.그런 상황이 생긴다고 합니다.
//volatile은 시스템에서 발생하는 개체를 정의합니다. 시간이나 그런거요.
//간닥히 말해, 멤버함수중에 단지 읽기만 하는 함수를 정의할 때 씁니다.
public:
void FromHandle(HANDLE handle)//-->const가 안 붙은 함수
{
m_handle=handle;
}
};//end of class
void test(HANDLE handle)
{
printf("Handle=%i\n",handle);
}
int main(int argc, char *argv[])
{
const CHandle handleObject;//const를 붙여서 객체를 생성한경우
//즉 메인함수에서 객체를 생성시 const를 붙여 생성하게 되면 그 객체내부의 함수는 const가 붙은 함수
//만 호출이 가능하고 나머지는 호출이 불가함.
handleObject.GetHandle();//호출됨
HANDLE handle;
handle=2;
handleObject.FromHandle(handle);//호출안됨
return 0;
}
'코스웨어 > 09년 내장형하드웨어' 카테고리의 다른 글
[SB]안습 상품평 (3) | 2009.08.12 |
---|---|
[오락실]우리가 과제를 해야만 되는이유 (7) | 2009.08.12 |
[SB]매일 느끼지만..... (2) | 2009.08.12 |
[오락실]어쩌라고2 (2) | 2009.08.12 |
[오락실]이런 여자랑은 사귀지 마세요 (6) | 2009.08.11 |
항상 흐린날에는 글을 쓰고 프당 (2) | 2009.08.11 |
[TY][펌] 우리는 어떻게 열정을 잃어버리는 걸까 (1) | 2009.08.11 |
[賢彬] 덥다 덥다 덥다.... 더 덥다 (1) | 2009.08.10 |