If you'd like to understand how the classification works in C++, start reading at TTreeClassifier::vote.

2. I would like to understand how it's possible to use existing Orange C++ classes in C++ (not in Python) and/or what the interfaces are. In particular, I would like to implement an arc-fs type of random forest (described in one of the Breiman's paper)

You can download the sources from the download page. Then search for the class TTreeClassifier.

There is no special documentation on C++ class interfaces, but I believe that the documentation for scripting (ie, Orange Reference Guide) should be useful since most classes appear roughly the same in Python and C++.

One thing you may also look at is the sources for modules orangeom.pyd or orangene/pyd, which are separate dlls that import classes from the main dll, orange.pyd.

Finally, why would you program random forests in C++ if you can more easily do it in Python, reusing the existing stuff from C++?