나는 구문 분석 라이브러리를 작성 중입니다. 그것은 Qt를 작성하고,이 같은 클래스 구조를 가지고 :
QCConstantNode
-Constants 표현식에서
QCExpressionNode
- 초록 기본 클래스 식의 모든 조각에 대한을 (확장 QCExpressionNode
) 식의
QCVariableNode
-Variables (QCExpressionNode
)
QCBinaryOperatorNode
-Binary 더하기, 빼기, 곱하기, 나누기 및 전력 사업자 (I 스마트 포인터를 (같은 QPointer
또는 QSharedPointer
) 사용할 수 있도록 QCExpressionNode
)QPointer 추상 기본 클래스
싶습니다 연장 확장,하지만 난 다음과 같은 문제를 겪고 있습니다.
- 추상적 클래스로 QPointer
을 사용할 수 있습니까? 그렇다면 예제를 제공해주십시오.
QPointer
을 구체적인 하위 클래스로 캐스팅하는 방법은 무엇입니까?
'qobject_cast'를 사용할 수 있습니까? 그리고 QPointer처럼'QCExpressionNode_ptr'와 같은 typedef를 사용할 수 있습니까? –
qobject_cast에 대한 @Nathan Moos 문서는 "qobject_cast() 함수는 표준 C++ dynamic_cast()"와 비슷하게 동작하므로 yes로 작동해야한다고 가정합니다. 그리고 typedef QPointer를 추가하려고했습니다. Parentptr; 매번 그것을 선언하는 대신 그것을 사용하면 효과가있다. 네, 그렇게 할 수 있습니다. –
Liz
감사합니다. 그게 내 질문에 완전히 대답했다. –