가정 해보니 자료 클래스와 여러 유도 된 클래스가 있습니다. 다음과 같이 작성할 필요없이 파생 클래스 중 하나에 객체를 캐스트 할 수있는 방법이 있습니까?C++ 캐스팅을 프로그래밍 방식으로 : 수행 할 수 있습니까?
string typename = typeid(*object).name();
if(typename == "Derived1") {
Derived1 *d1 = static_cast< Derived1*>(object);
}
else if(typename == "Derived2") {
Derived2 *d2 = static_cast < Derived2*>(object);
}
...
else {
...
}
이것은 세부적인 내용이지만 언급하고 싶습니다. 당신은 d1보다는 d1->와 d2->를 의미합니다. 및 d2. ,권리? 포인터 타입은 화살표 연산자를 사용하여 멤버 함수에 도달하기 때문에. :) –