ユーザ用ツール

サイト用ツール


サイドバー

C++/CLI

CLR

実用編

その他

アクセス指定子

以前のリビジョンの文書です


アクセス指定子

従来の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/attic/アクセス指定子.1233384400.txt.gz · 最終更新: 2013/12/23 09:07 (外部編集)