[모던C++입문] 2.6 멤버 변수에 접근하기

짜장범벅·2022년 6월 6일
0

모던CPP입문

목록 보기
6/11

2.6 멤버 변수에 접근하기

2.6.1 접근 함수

객체의 멤버 변수에 접근하는 함수를 아래처럼 선언할 수 있다.

class complex{
    double r, i;
    ...

    friend double& real(complex& c)
}

inline double& real(complex& c) { return c.r }
inline double& real(complex& c) { return c.real(); }

2.6.2 첨자 연산자

double sum = 0.0;
for (int i=0; i<v.size(); ++i){
    sum += v[i];
}

class vector {
    public:
    double operator[](int i)
    {
        assert(i >= 0 && i < my_size>);
        return data[i];
    }
}

위 경우 vector의 [] operator 오버로딩을 이용해 data에 직관적으로 접근하게 해준다.

2.6.3 상수 멤버 함수

2.6.2 예제에서 vector v가 const로 사용된다. 이 경우 아래와 같이 작성하는 것이 좋다.

class vector {
    public:
    double operator[](int i) const
    {
        assert(i >= 0 && i < my_size>);
        return data[i];
    }
}
profile
큰일날 사람

0개의 댓글