Open C++ é uma variante de C++, na qual as chamadas aos métodos e os acessos a variáveis são deixados em aberto. A realização das chamadas e dos acessos é extensível, permitindo a realização de novas funções da linguagem, como chamadas a procedimentos remotos. Cada objecto é controlado pelo seu metaobjecto, de forma a permitir que o metaobjecto altere o comportamento das chamadas de métodos sobre o objecto, assim como o acesso às suas variáveis. Como o metaobjecto é um objecto C++, o programador pode facilmente definir um novo metaobjecto para realizar uma nova função sem ser necessário alterar o compilador.