C++语言学习(七)――友元
C++语言学习(七)――友元 一、友元简介 1、友元简介 面向对象编程的类的设计机制实现了数据的隐藏与封装,类的成员变量一般定义为私有成员,成员函数一般定义为公有的,是类与外部的通信接口。在实践中,类外的某些函数需要频繁地访问类的成员变量,可以将类外的函数定义为类的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但友元破坏了类的封装性和隐藏性,使得非类的成员函数可以访问类的私有成员。 友元是C++语言中的一种关系,友元关系发生在函数与类之间或者类与类之间。友元关系是单向的,不能传递。 与类有友元关系的函数称为友元函数,与类有友元关系的类称为友元类。 2、友元的特性 友元的特性如下: A、在类中以friend关键字声明友元 B、类的友元可以是其它类或具体函数 C、友元不是类的一部分 D、友元不受类中访问级别的限制 E、友元可以直接访问具体类的所有成员 F、友元关系不能被继承 G、友元关系是单向的,不具交换性 H、友元关系不具有传递性 3、友元的本质 友元的本质,是让其它不属于本类的成员(全局函数,其它类的成员函数,其它类),成为本类的成员而具备本类成员的属性。 二、友元函数 1、友元函数简介 友元函数是可以直接访问类的私有成员的非成员函数,是定义在类外的函数