가능한 중복 :
Printing derived class name in base class유형 ID 인쇄되지 정보
나는 예상치 못한 다음 코드 출력 뭔가를 GCC를 사용하고 있어요
#include <iostream>
#include <typeinfo>
using namespace std;
class B {
public:
B (B * ptr) { cout<< typeid(*ptr).name()<<endl;}
};
class D : public B {
public:
D() : B(this) { cout<<typeid(this).name()<<endl;}
};
int main()
{
D d;
return 0;
}
출력 :
1B
P1D
누구든지 제게 여기 왜 기본 클래스가 파생 클래스의 유형을 정확하게 말할 수 없습니까? 많은 감사
참조 : http://stackoverflow.com/q/10894683/1025391 – moooeeeep