Este é um modelo de programação, desenvolvido na Universidade de Tóquio, que pretende trazer para o campo de acção do C++ a programação baseada na filosofia dos metaobjectos, presente noutros sistemas, e.g. COMMON LISP [Kiczales et al., 1991].
A utilização de smart pointers e acessores prevê que um objecto do programa seja acedido e manipulado através de uma entidade especial que modela um conceito da linguagem: ponteiros e referências para objectos, repectivamente. Neste caso, tal como nos anteriores em que era utilizada herança, os objectos são manipulados directamente pelo programa. O fluxo de execução pode, em algumas circunstâncias, ser passado dos objectos do programa para outros objectos (os metaobjectos).