友元
这是全局函数做友元
#include<iostream>
using namespace std;
class Person
{
// 告诉编译器 goodfriend这个全局函数是Person这个类的好朋友 可以访问里面的私有内容
friend void goodfriend(Person& p);
public:
Person(int age, int money)
{
m_ge = age;
m_money = money;
}
int m_ge;
private:
int m_money;
};
void goodfriend(Person &p)
{
cout << "年龄是: " << p.m_ge << " 工资为: " << p.m_money << endl;
}
void test()
{
Person p1(12, 20000);
goodfriend(p1);
}
int main()
{
test();
}
类做友元
#include<iostream>
using namespace std;
class Building
{
friend class Goodgay; // 告诉编译器Goodgay类是Building类的好朋友 可以访问Building类中的私有内容
public:
string m_ting;
Building();
private:
string bedroom;
};
Building::Building()
{
m_ting = "客厅";
bedroom = "卧室";
}
class Goodgay
{
public:
Building* building = new Building;
Goodgay();
};
Goodgay::Goodgay()
{
cout << "这是" << building->m_ting << "这是" << building->bedroom << endl;
}
void test()
{
Goodgay g1;
}
int main()
{
test();
}