15 类和对象--友元

2020-10-26  本文已影响0人  ca8519be679b

友元

什么是友元呢,第一次听吧,我们之前类中定义了私有属性,外部是无法访问和调用的,我们让外部的函数或者类访问类私有属性就成为友元,关键字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的属性指针,需要先声明,但是后面定义。

上一篇下一篇

猜你喜欢

热点阅读