class foo {
public:
int a;
// static member function "get_a" ...
static int get_a(foo *f) {
// ... accesses public non-static data member "a"
return f->a;
}
};
위의 예제와 같이 static 함수가 클래스의 멤버로 속해 있다면 객체를 받아와서
객체의 논스테틱 멤버에 접근이 가능하다
class foo {
public:
int a;
// static member function "get_a" ...
};
static int get_a(foo *f) {
// ... accesses public non-static data member "a"
return f->a;
}
단 아래의 경우는 스태틱 함수가 클래스의 멤버가 아니므로 객체의 인스턴스를 받아온다 하더라도
NonStatic 멤버에 접근할수 없다
출처:
http://stackoverflow.com/questions/1871379/c-static-member-functions-and-their-scope
댓글 없음:
댓글 쓰기