ユーザ用ツール

サイト用ツール


サイドバー

C++/CLI

CLR

実用編

その他

cli:アクセス指定子

アクセス指定子

従来のC++では private protected publicなどのアクセス指定子はクラスのメンバーおよび継承元クラスに用いるものでしたが、C++/CLIではそれに加えてクラス自身にもアクセス指定子を指定できます。

.net frameworkではクラスをバイナリで外部に公開できるため(参照)、そのクラスが外部に対してどのようなアクセス指定を持つかを指定することができます。

また、private, protected, publicのほかにinternal, private protected, protected publicが追加されています。(protected privateやpublic protectedもありますがこれらはprivate protected, protected publicと同じです。)

クラスに付けるアクセス指定子 (デフォルトはprivate)

  • private
    • クラスはそのアセンブリの内部だけで使用できる。
    • =ビルド単位で使用できる。
    • =ソースコートが見えれば使用できる。
  • public
    • みんなが使用できる。
    • =バイナリだけあれば使用できる
    • =#usingで参照して使用できる

クラスのメンバーに付けるアクセス指定子(デフォルトはprivate)

  • private
    • メンバーはそのクラスの内部からのみ使用できる。
  • protected
    • メンバーはそのクラスおよび派生クラスから使用できる。
  • public
    • メンバーは誰でも使用できる。
  • private protected
    • アセンブリ外部からは使用できない。アセンブリ内部からは派生クラスから使用できる。
  • internal (= private public)
    • アセンブリ外部からは使用できない。アセンブリ内部からは誰でも使用できる。
  • protected public
    • アセンブリ外部からは派生クラスから使用でる。アセンブリ内部からは誰でも使用できる。

2つのアクセス指定子がある場合は、より制限のきつい方がアセンブリ外部用で、よりゆるいほうがアセンブリ内部用になります。




/var/www/html/virtual/cppcli/data/pages/cli/アクセス指定子.txt · 最終更新: 2013/12/23 09:08 (外部編集)