2015. 9. 4. 10:06 Programing/C++
멤버 함수 포인터 선언
함수 포인터는 함수의 시작 주소를 저장하는 포인터
함수의 이름은 함수가 시작하는 시작 주소를 나타내며 함수 포인터는 이 함수의 주소를 저장하는 포인터!
#include <iostream>
#include <cstring>
using namespace std;
class Point
{
int x;
int y;
public:
explicit Point(int _x = 0, int _y = 0) :x(_x), y(_y) {}
void Print() const { cout << x << ", " << y << endl; }
void PrintInt(int n) { cout << "테스트정수: "<< n << endl; }
};
int main()
{
Point pt(2, 3);
Point *p = &pt;
void (Point::*pf1)() const; //멤버 함수 포인터 선언
pf1 = &Point::Print;
void(Point::*pf2)(int); //멤버 함수 포인터 선언
pf2 = &Point::PrintInt;
pt.Print();
pt.PrintInt(10);
cout << endl;
(pt.*pf1)();
(pt.*pf2)(10);
cout << endl;
(p->*pf1)();
(p->*pf2)(10);
return 0;
}
'Programing > C++' 카테고리의 다른 글
두 정수가 같으면 true 다르면 false를 리턴하는 Equal 클래스 (0) | 2015.09.04 |
---|---|
함수 객체 (0) | 2015.09.04 |
형변환 연산자 오버로딩 (0) | 2015.09.04 |
-> , * 연산자 오버로딩 (0) | 2015.09.02 |
간단한 오버라이딩 (0) | 2015.09.02 |