码迷,mamicode.com
首页 > 其他好文 > 详细

组合类,友元函数 ,内部类,

时间:2015-08-10 20:16:48      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:内部类   友元   组合类   

        在我前前面已经说过组合类的概念了,今天我再介绍两个类,友元,以及内部类。

         组合类,就是一个类中有另一个类的对象,如声明一个class  penson,成员变量有姓名,年龄,出生日期等,在声明一个date类,这个类里面就是存的年月日的信息,因此我们可以将person类的出生日期设为date类,这就构成了一个组合类。

        友元的概念,就像是我们的朋友,比如说  小红说小明是她的朋友,那么对于小红来说,小明肯定有别人所没有的特权(为什么是段子手小明啊 ,老王呢?技术分享)因此,类举到我们的类中,就是说,一个类可以把另一个类当成朋友,给予他访问自己成员变量的权利(包括私有成员变量,还真是推心置腹啊,没有一点秘密)。那么另一个类,在自己的类中就可以访问刚才那个类的变量。

    友元还有一种概念是友元函数,类似于友元类。其实,友元类里面的每个方法都是一个友元函数,读者自行脑补。

友元的特征,不能传递(朋友的朋友不一定是朋友),不能交换(你把他当朋友,他不一定把你当朋友,在这就是他不把你当朋友),不能继承(你爸爸的朋友不一定是你的朋友)

        

友元类的使用时机:

         友元虽然可以访问类的成员变量,但是他打破了类的封装,因此不建议这样做。

        在运算符的重载是会用到友元类

        在类与类之间要共享资源的时候

友元函数的参数问题(友元函数无this指针)有3种情况:

1、要访问非静态成员时,需要对象做参数;

2、要访问静态成员或全局变量时,不需要对象做参数;

3、如果做参数的对象是全局的,则也不需要对象做参数

        

    内部类,内部类也叫做嵌套类。我个人很喜欢将其称为内部类,顾名思义,就是在一个类的中间定义另一个类。里层和外层类访问的规则是,互相可以访问公有成员。

       在定义内部类前面要加上public,(类成员默认私有,不加系统默认为实声明了一个私有的内部类),内部类不可以直接访问外部类的成员,一种方法是通过外部类的对象,一种方法是静态访问即:外部类名::外部类静态成员访问

类的成员的访问方法(类外:public

方法一:对象名.成员(变量或者函数)

                                                          指针变量à成员(变量或者方法)

                                                          *指针变量).成员(变量或者方法)

方法二:类名::成员(变量或者函数)



       

本文出自 “西门吃牛” 博客,请务必保留此出处http://ximenchiniu.blog.51cto.com/9503623/1683383

组合类,友元函数 ,内部类,

标签:内部类   友元   组合类   

原文地址:http://ximenchiniu.blog.51cto.com/9503623/1683383

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