I 클래스가 있습니다액세스 개인 회원
class A
{
private:
ComplexClass member1;
public:
getMember1(){return member1;};
};
을하고 나는 그것을 작동하도록하는 멤버 1을 검색 할 필요가 코드를 단순화 (더 쉽게 이해할 수있는) 것을 구현을 가지고있다. 내 마음에 와서 가장 먼저하는 일이 될 것이다 : 나는 새로운 객체 포인터가 아닌 멤버 1에서 검색 (그리고 컴파일러 경고를 얻을 수) 오전부터 분명히 정확하지
ComplexClass *myComplexClass = &getMember1();
myComplexClass.getSomething();
myComplexClass.getSomethingElse();
etc.
.
제 질문은 이렇습니다. 이런 일을하는 데 가장 좋은 디자인은 무엇입니까? 캡슐화를 유지하면서도 포인터를 사용하여 멤버의 액세스를 용이하게하려면 어떻게해야합니까? (필자는 member1에서 읽기만하고 쓰기를 원하지 않습니다.)
본인은 클래스 A 내부
ComplexClass *getPointerToMember1()
을해야 하는가?
'ComplexClass myComplexClass = a.getMember1(); myComplexClass.getSomething();'? –
당신은 아마 시작할 게터를 추가해서는 안됩니다. 외부 엔터티가 멤버 1에게 액세스해야하는 이유는 무엇입니까? 이것이 유일한 엔터티입니까? 그렇다면 친구가 되십시오. –