C++基础知识-DAY6
1. 友元 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,,依此提供类与外界间的通信接口。 但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,有时可以将这些函数定义为该类的友元函数,除了友元函数外,还有友元类,两者统称为友元。 友元的作用是提高了程序的运行效率(即减少了类型和安全性检查及调用的时间开销),但他破坏了类的封装性和隐 藏性,使得非成员函数可以访问类的私有成员。 友元可以是一个函数,该函数被称为友元函数,友元也可以是一个类,该类被称为友元类。 1. Get/set Get 方法和 set 方法,是常见的获取数据成员的方式,比如在游戏中,任务遭到攻击后血量的减少就要用到 set 方法,而实时的显示就需要 set 方法 由于 _lifeBlood 是私有的,为了访问他,我们必须要做的事情就是通过函数来访问他,这就意味着,在这个过程中需要不断的压栈与出栈,那么就面临一个问题,怎么样才能提高战斗的效率呢 如果 fight() 内部的函数可以写成如下 这样就可以省去很多压栈出栈的开销,节约成本,但是由于 _lifeBlood 是私有的,不可以这样访问,除此之外,由于真正在游戏中,参与 fight 的对象是不定的,可以是多个,所以说 fight 常被写成全局函数,这样就更不能直接访问私有变量了