2010-03-30 2 views
0

Qt-библиотека включает в себя расширенные возможности метапрограммирования с использованием собственного компилятора moc-препроцессора. Кто-нибудь знает, возможно ли создать через него какие-то микширования? Например, у меня есть QString и вы хотите добавить к нему метод без подклассификации и изменения существующего кода. У Qt есть такие решения для этого?Qt: Можно ли использовать технологию mixins?

ответ

3

Я уверен, что компилятор moc не считается мета-программированием в соответствии с the most common definition.

Кроме того, вы не можете добавлять методы к классу, используя его.

Infact, на C++ вы никогда не сможете добавлять методы к классу вне его декларации, а moc (или любая другая утилита QT) никогда не затрагивает определения класса. он лишь добавляет некоторую метаинформацию к нему и дополнительный код, который заботится о механизме сигналов и слотов. Это очень мало связано с фактическим метапрограммированием.

Смежные вопросы