従来のC++では private protected publicなどのアクセス指定子はクラスのメンバーおよび継承元クラスに用いるものでしたが、C++/CLIではそれに加えてクラス自身にもアクセス指定子を指定できます。
.net frameworkではクラスをバイナリで外部に公開できるため(参照)、そのクラスが外部に対してどのようなアクセス指定を持つかを指定することができます。
また、private, protected, publicのほかにinternal, private protected, protected publicが追加されています。(protected privateやpublic protectedもありますがこれらはprivate protected, protected publicと同じです。)
2つのアクセス指定子がある場合は、より制限のきつい方がアセンブリ外部用で、よりゆるいほうがアセンブリ内部用になります。