|
'포인터'에 해당되는 글 1건
[폭주기관차, 2007/12/05 13:22, [Programming]/Visual C++ API/MFC]
한가지 이름의 함수에 여러가지 동작을 수행하게 할 수 있다.
아래와 같은 클래스가 있다고 보자 class class_A {A라는 클래스안에 test란 포인터형 함수가 있다. 지금까지 선언하던 함수랑은 살짝 다르다... 다음과 같은 경우를 보자. int *test(int a);이 함수의 세부 사항을 보면 함수이름 : test 매개변수 : int a 반환형식 : int * 이런 뜻이 된다. 그렇다면 아까와 같이 괄호를 치면 어떤 의미가 될 것인가. int (*test)(int a);함수이름 : *test 매개변수 : int a 반환형식 : int 그렇다 함수앞에 *(포인트)가 붙은 것이다. 그렇다면 이런 것을 어떻게 사용할까? 아래의 예제를 보자. int print_a( int a );출력결과는 a = 1 b = 2 어디에서 응용이 가능한가...? 클래스를 만들때 어떤 동작은 다른 개발자에게 넘겨주고 싶을 때가 있다. 이런 경우는 파생클래스를 만들어서 오버라이딩을 할 수도 있지만 함수 하나만 다른 개발자가 원하는 코드로 사용하게 하고 싶을 경우가 있다. 설명하기 힘드므로 아래와 같은 예를 보자 void 휴식( int 돈 )이런 함수가 있다. 휴식은 클래스를 만들때 정하지 않고 다른 프로그래머가 내 클래스 코드를 사용할때 따로 지정하여 사용하게 하고 싶다면 아래와 같이 선언을 한다. class 일상{이렇게 클래스를 선언해두면 다른 개발자가 '일상'이라는 클래스를 사용할때 굳이 파생클래스를 이용하지 않더라도 사용할 수가 있다. void 내휴식(int 돈)Trackback Address :: http://kongmks.cafe24.com/trackback/269
|
||





