2015년 1월 27일 화요일

c++ 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;
    }
};
위의 예제와 같이 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

댓글 없음:

댓글 쓰기