Visual C++ で作成した独自のクラスを dll で提供すれば、そのソースコードを外部に公開することを防げるのではないでしょうか?
自分で使う場合でも、いちいち多くのヘッダーやソースファイルをプロジェクトに追加するのも面倒な上、うっかりそこで編集してしまうと整合性も取れなくなりますね。
まあ、どういう理由であれ、実行フォルダにたくさんの .dll を置く必要がでてくるのは良くありませんが、できる、ということは重要ではないでしょうか。
「C/C++ クラスを dll として提供する」で検討しています。