이 질문은 정말 새 질문이라고 생각하지만 대답을 찾지 못했습니다. 나는 정확히이 문구를 어떻게 구별 할 수 있을지 모르지만, 나는 현재의 계층 구조와 관련하여 현재 객체와 멀리 떨어져있는 객체에 접근해야한다는 것을 자주 발견한다. 나는 이것을 단지 올바른 방법으로하고 싶다.현재 클래스 계층 구조에서 멀리 떨어져있는 객체에 액세스하는 C++
이것은 메인에서 매개 변수를 전달하는 것과 함께 사용됩니다. 필자는 주 개체와 멀리 떨어져있는 개체가 매개 변수를 여러 번 전달해야한다는 것을 알았습니다. main에서 멀리 떨어져있는 객체는 어떻게 명령 행에서 정보를 얻습니까? 4 개 클래스 제 경우를 예를 들어
...class A{
B b;
//need to check status of D
//choice 1
b.get_c().get_d().get_status();
//choice 2
const C& c = b.get_c();
const D& d = c.get_d();
d.get_status();
};
class B{
public:
C c;
const C& get_c() {return c;}
};
class C{
public:
D d;
const D& get_d() {return d;}
};
class D{
public:
bool check_status();
};
남기기처럼 자동차이고, B는 도어 어셈블리, C가 D 인 잠금, 도어이다. 그런 다음 A가 잠겨 있다고 말하고 그렇지 않으면 시작을 막아야합니다.
선택 3은 A에서 D의 메소드를 직접 호출하기 때문에 C, B 및 A에서 check_status()의 몇 가지 레이어를 만들어 D, C, B.check_status()를 반환해야합니다.
코드가 좀 더 복잡한 경우 이러한 모든 하위 객체 호출은 오버 헤드가 많이 발생하지 않습니까?
감사합니다.