短い答え)
あなたは質問をしたようで、その逆です。答えは次のとおりです。
2 つのクラスが、パブリック クラスと変数 C++ に同じ名前のセットを持つことはできますか?
はい。
各クラスのインスタンスを作成し、それらのパブリック クラスと変数にアクセスすると問題が発生しますか?
いいえ。
長い答え
名前空間または型 (クラス型など) 内で宣言された名前はカプセル化されます。それらは、他の名前空間または型内で宣言された名前と競合しません。唯一の例外は使用法であり、状況によってはあいまいになる可能性があります。