class type의 비교 어떻게 할까요?

devscott의 이미지

class CMusicSymbol;

class CChordSymbol : public CMusicSymbol;

일때 다음은 C# 코드입니다.

Clef FindClef ( List< CMusicSymbol> list )
{

foreach ( CMusicSymbol m in list )
{
if ( m is CChordSymbol )
{
CChordSymbol c = (CChordSymbol) m;
return;
}
}
}

m is CChordSymbol 형태의 비교를 C++에서는 어떻게 해야 하나요?

미리 답변 감사드립니다.

bookgekgom의 이미지

그런건 없음

하지만 밑과 같은 방법즁 하나로 가능

http://msdn.microsoft.com/en-us/library/b2ay8610(vs.71).aspx

---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.

http://jihwankim.co.nr

여러 프로그램 소스들이 있습니다.

필요하신분은 받아가세요.

drinkme의 이미지

RTTI를 사용하시면 됩니다.
기억이 가물가물하지만, typeid() 연산자를 사용할껄요...
이 부분은 google에서 찾아보시면, 정확한 사용법은 금방 찾으실 수 있을거고요.
(제가 설명드리는것보단. 성의없어 보여서 죄송)

이게 제약사항이 조금 있는게...
제 기억에, RTTI는 가상 class에서만 사용할 수 있었던 듯 합니다.
이게, virtual table 기반으로 동작하였던 듯.