码迷,mamicode.com
首页 > 编程语言 > 详细

C#中实现C++中的友元类

时间:2015-03-07 13:48:32      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

最近做一个小程序,一个类A(负责显示处理)需要大量调用类B(负责数据处理)的函数,我最先想到的C++中的友元概念,因为类B中的这些函数并不希望public,它只是允许类A调用监测.

网上搜索了一下,没有好的简单实现,但是我想到了自己以前经常写的一种方式,那不就是最简单的实现吗?

    public class B
    {
        int ma;
        int mb;

        void fa();
        void fb();

        public class A
        {
            B b;
            public A(B bx)
            {
                this.b = bx;
            }
            void ff()
            {
                int ma = b.ma;
                int mb = b.mb;
                b.fa();
                b.fb();
            }
        }
    }

只需要把类A的定义放在类B的实现之中,这个时候类A就可以访问类B的所有方法和数据量.而且这种方式也容易理解,那就是A要么是B的组成部分之一,A要么是B的寄生部分.只有B存在,A才有存在的意义.

C#中实现C++中的友元类

标签:

原文地址:http://www.cnblogs.com/flyant/p/4320035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!