友元
什么是友元呢,第一次听吧,我们之前类中定义了私有属性,外部是无法访问和调用的,我们让外部的函数或者类访问类私有属性就成为友元,关键字friend
全局函数做友元
1如上,我们外部函数访问对象的共有属性是可以的
2但是,我们尝试访问私有属性肯定会报错,之前也讲过了权限的问题。
3如上,友元很简单,就是在类定义内部最上加上函数的声明,同时加上friend修饰,就表示这个函数可以访问私有属性了,结果就被看到内衣
类作为友元
单类做友元很简单,这里顺带加上了类外定义方法的实现
4如上,我们定义Man,可以在public里声明无参构造,然后在类外使用Man::Man(){}定义方法内容,同样,Woman也是,但是类非构造方法要加上返回类型,当然,我们因为money是默认私有的,这么访问肯定报错
5但是我们给Man类开始声明友元类friend class Woman;可以实现访问私有属性。
成员函数做友元
有时候觉得把整个类都做友元有点大,希望类的某些方法可访问,另一些不可访问,就要给成员函数设置友元
6如上,我们设置Woman有2个check方法,想只给check1设置友元,就在Man里声明友元成员方法,注意,这里Man作为Woman的属性指针,需要先声明,但是后面定义。
网友评论