C++成员函数做友元

注意两个类的顺序以及必须类外实现的函数。

#include<iostream>
#include<string>
using namespace std;

class Building;

class GoodFriend
{
public:
    GoodFriend();

    void visit();

private:
    Building * building;
};

class Building
{
    friend void GoodFriend::visit();

public:
    Building()
    {
        SittingRoom = "客厅";
        BedRoom = "卧室";
    }

public:
    string SittingRoom;

private:
    string BedRoom;
};

GoodFriend::GoodFriend()
{
    building = new Building;
}

void GoodFriend::visit()
{
    cout << "好朋友正在访问:" << building->SittingRoom << endl;
    cout << "好朋友正在访问:" << building->BedRoom << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    GoodFriend gf;
    gf.visit();
    
    system("pause");
    return 0;
}

 

posted @ 2022-08-01 16:32  萌萌的保镖  阅读(63)  评论(0)    收藏  举报