1. 前言
友元,一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。贴一下百度百科的解释百度百科-友元。
通俗理解:在我的类里用friend声明了一个函数或者是类,则表示我把你当朋友,我享有的权利你都有。其实就是私有和保护权限。
2. 友元函数
通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限。
用例子说明:
//原始类声明
class COriginal
{
public:
COriginal();
~COriginal();
void printOrg();
friend int getOrg();
private:
int m_org;
};
//原始类源码
COriginal::COriginal():m_org(1)
{
cout << "Constructor of COriginal -->m_org:" << m_org << endl;
}
void COriginal::printOrg()
{
Cfriend frd;
cout << "printOrg" << frd.m_frd << endl;
}
int getOrg()
{
COriginal original; //定义一个局部对象
//使用了私有成员,且getOrg()不是原始类成员
return original.m_org;
}
COrigi