廊坊网站建设系统,网站中常用的功能模块,设计网站怎么收费,页面设计所遵循的原则有哪些不能从外部访问类的私有数据成员和方法#xff0c;但这条规则不适用于友元类和友元函数。要声明友元 类或友元函数#xff0c;可使用关键字 friend#xff0c;通过让函数成为类的友元#xff0c;可以赋予该函数与类的成员函数 同的访问权限。 生活中你的家有客厅 (Public)… 不能从外部访问类的私有数据成员和方法但这条规则不适用于友元类和友元函数。要声明友元 类或友元函数可使用关键字 friend通过让函数成为类的友元可以赋予该函数与类的成员函数 同的访问权限。 生活中你的家有客厅 (Public) 有你的卧室 (Private) 客厅所有来的客人都可以进去但是你的卧室是私有的也就是说只有你能进去 但是呢你也可以允许你的好闺蜜好基友进去。 在程序里有些私有属性 也想让类外特殊的一些函数或者类进行访问就需要用到友元的技术 友元的目的就是让一个函数或者类 访问另一个类中私有成员 友元的关键字为 friend 友元的三种实现 全局函数做友元 类做友元 成员函数做友元 全局函数做友元 class Building
{public:Building() //构造函数{this-m_SittingRoom 客厅;this-m_BedRoom 卧室;}
public:string m_SittingRoom; //客厅
private:string m_BedRoom; //卧室
};//全局函数 可以访问类的公有但想要访问类的私有成员
void goodGay(Building* building)
{cout 好基友得全局函数正在访问 building-m_SittingRoom endl;cout 好基友正在访问 building-m_BedRoom endl; //私有属性在类外访问不到
} void test01()
{Building building;goodGay(building);
}int main() {test01();system(pause);return 0;
}
怎么解决上述问题 #include iostream
#include string
using namespace std;class Building
{ //goodGay全局函数是 Building好朋友可以访问Building中私有成员friend void goodGay(Building* building);
public:Building() //构造函数{this-m_SittingRoom 客厅;this-m_BedRoom 卧室;}
public:string m_SittingRoom; //客厅
private:string m_BedRoom; //卧室
};//全局函数 可以访问类的公有但想要访问类的私有成员
void goodGay(Building* building)
{cout 好基友得全局函数正在访问 building-m_SittingRoom endl;cout 好基友正在访问 building-m_BedRoom endl; //私有属性在类外访问不到
} void test01()
{Building building;goodGay(building);
}int main() {test01();system(pause);return 0;
}