アクセス修飾子


DESC C++ とは異なり, すべてのメンバー明示的に設定する。 つけなければデフォルトの private POINT 隠蔽の時には異なるアクセス修飾子を指定できる。 オーバーライドする場合はアクセス修飾子は変更できない。 internal: CMP 単位のみアクセス可能. ( public, private, internal と併用可能. ) 「現在のコンパイル単位」という意味は、中間言語を理解するうえで重要。
class Test { public void Write() { Console.WriteLine("test"); } } class TokyoMM : Kitty { new private void Write() { Console.WriteLine("Tokyo mew mew"); } } class Test { static void Main() { // CMP OK ! // private にすること == そのメンバを隠蔽することに等しい // ので, Kitty::Write() にアクセスする. // C++ ではどうだろうか ? TokyoMM obj = new TokyoMM(); obj.Write(); } }
C++ では CMP ERR になるらしい.