友函数访问种的私有数据成员

友函数访问类的私有数据成员#include stdafx.hclass CAnimal{public : int m_sexpublic: void SetSex(i

友函数访问类的私有数据成员

#include "stdafx.h"

class CAnimal
{
public :
 int m_sex;
public:
 void SetSex(int sex)
 {
  m_sex = sex;
 }
 //******************************
 //定义友元函数
 friend int GetSex(CAnimal& am);

 ///********************************
 //声明友类
 friend class CCat;
};

int GetSex(CAnimal& am)
{
 return am.m_sex ;
}

int main(int argc, char* argv[])
{
 CAnimal animal;
// CCat  kitty;
 animal.m_sex = 'M';
 int sex = GetSex(animal);
// animal.SetSex('M');

// int sex =kitty.GetSex(animal);
 return 0;
}

 

友元函数能够访问类的私有数据成员