钱能C++语言读书笔记(八)友元
a) 友元函数
如果将数据成员设置为公有,那势必造成形形色色的使用者在使用过程中的不安全隐患。这时候,将一个普通函数声明为类的友元,就可以访问类的私有数据。
b) 友元成员函数
一个类的成员函数可以是另一个类的友元,例如教师应该可以修改学生的成绩,可以访问学生类的私有数据,故将教师类中的成绩assignGrade成员函数声明为学生类的友元。
c) 友元类
整个类也可以是友元,此时称该友元为友类。友类,友类中的每一个成员函数都可以访问另一个类中的私有成员。例如,将整个教师类看作是学生类的友类,教师即可修改成绩,又可调整学时数。
Demo代码如下:
运行结果: