全局函数做友元
#include<iostream>
using namespace std;
#include<string>
class Building
{
//全局函数为这个类的好朋友,可以访问私有卧室(声明)
friend void goodGay(Building *building);
public:
Building()
{
m_sittingRoom="客厅";
m_Bedroom="卧室";
}
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();
return 0;
}
类做友元
#include<iostream>
using namespace std;
#include<string>
//类做友元
class Building;//声明我会写这个类
class Goodgay
{
public:
Goodgay();
void visit();//参观函数,访问Building中的属性
Building *building ;
};
class Building
{
//Goodgay这个类为本类好朋友
friend class Goodgay;
public:
Building()
{
m_sittingRoom="客厅";
m_Bedroom="卧室";
}
string m_sittingRoom;//客厅
private:
string m_Bedroom;
};
//类外写成员函数
Goodgay::Goodgay()
{
//创建建筑物对象
building=new Building;
}
void Goodgay::visit()
{
cout<<"好基友全局函数 "<<building->m_sittingRoom<<endl;
cout<<"好基友全局函数 "<<building->m_Bedroom<<endl;
}
void test01()
{
Goodgay gg;
gg.visit();
}
int main(){
test01();
return 0;
}
3、成员函数做友元