友元函数及友元类详解
在 C++ 中,一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来介绍一种例外情况——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以及全局范围内的函数访问当前类的 private 成员。 友元函数 在当前类以外定义的、不属于当前类的函数也可以在类中声明,但要在前面加 friend 关键字,这样就构成了友元函数。 友元函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数,友元函数可以访问当前类中的所有成员,包括 public、protected、private 属性的。 。 1) 将非成员函数声明为友元函数 # include <iostream> using namespace std ; class Student { public : Student ( char * name , int age , float score ) ; public : friend void show ( Student * pstu ) ; //将show()声明为友元函数 private : char * m_name ; int m_age ; float m_score ; } ; Student : :