DerivedClass
은 BaseClass
에서 파생됩니다. 다음 중 어떻게 작동합니까?boost :: shared_ptr 및 파생 클래스 지정
boost::shared_ptr<BaseClass> a(new BaseClass());
boost::shared_ptr<DerivedClass> b(new DerivedClass());
a=b;
이 question에 따라, 본인은 지금 a
점 파생 내가 a
통해 함수를 호출하는 경우베이스에 b
점 (오른쪽?)
, 지금은 파생 구현을 호출 것 ? 당신은 a
에 재 할당하기 때문에 a
및b
것 이제 DerivedClass
개체를 모두 가리 킵니다. 있습니다
'static_pointer_cast'도 작동하지 않으므로 'DerivedClass'에서 비 가상 함수를 호출하는 기본 방법이 될까요? 'boost :: static_pointer_cast (a) -> SomeFunctionOnlyInDerivedClass();' –
j00hi