2010-03-30 3 views
0

Qt 라이브러리에는 사전 처리 moc 컴파일러를 사용하는 고급 메타 프로그래밍 기능이 포함되어 있습니다. 누구라도 알고 있습니까, 그것을 통해 믹스 인을 만들 수 있습니까? 예를 들어 QString을 가지고 있고 하위 클래스를 지정하지 않고 기존 코드를 변경하지 않고 메서드를 추가하려고합니다. Qt는 그런 해결책을 가지고 있습니까?Qt : 믹스 인 기술을 사용할 수 있습니까?

답변

3

저는 MOC 컴파일러가 the most common definition에 따라 메타 프로그래밍으로 간주되지 않는다고 확신합니다.

또한 클래스를 사용하여 클래스에 메서드를 추가 할 수 없습니다.

사실, C++에서는 선언문 외부의 클래스에 메소드를 추가 할 수 없으며 moc (또는 다른 QT 유틸리티)는 클래스의 정의에 실제로 영향을주지 않습니다. 단지 메타 정보와 신호 및 슬롯 메커니즘을 관리하는 추가 코드 만 추가합니다. 이것은 실제 메타 프로그래밍과는 거의 관련이 없습니다.

관련 문제