C ++의 접근 자 메서드에 대한 몇 가지 질문이 SO에서 요청되었지만 문제에 대한 호기심을 충족시킬 수있는 사람은 없습니다.
Stroustrup과 다른 유명한 프로그래머처럼 접근자가 많은 클래스를 나쁜 OO의 징후로 간주하기 때문에 가능한 한 접근자를 피하려고합니다. C ++에서는 대부분의 경우 클래스에 더 많은 책임을 추가하거나이를 피하기 위해 friend 키워드를 사용할 수 있습니다. 그러나 어떤 경우에는 특정 클래스 멤버에 대한 액세스 권한이 정말로 필요합니다.
몇 가지 가능성이 있습니다.
1. 접근자를 전혀 사용하지 마십시오
각 멤버 변수를 공개 할 수 있습니다. 이것은 Java에서는 실행되지 않지만 C ++ 커뮤니티에서는 괜찮은 것 같습니다. 그러나 객체에 대한 명시 적 복사 또는 읽기 전용 (const) 참조가 반환되어야하는 경우에 대해 약간 걱정됩니다. 과장된 것입니까?
2. 자바 스타일의 get / set 메소드 사용
Java에서 온 것인지 확실하지 않지만 이것은 의미합니다.
int getAmount(); // Returns the amount
void setAmount(int amount); // Sets the amount
3. 객관적인 C 스타일 get / set 메서드 사용
이것은 약간 이상하지만 점점 더 일반적입니다.
int amount(); // Returns the amount
void amount(int amount); // Sets the amount
작동하려면 멤버 변수에 대해 다른 이름을 찾아야합니다. 어떤 사람들은 밑줄을 추가하고 다른 사람들은 "m_"앞에 추가합니다. 나도 좋아하지 않습니다.
어떤 스타일을 사용하고 왜 사용합니까?