江南水岸渣fit人

博客园 首页 新随笔 联系 订阅 管理
#include<iostream>
#include<string>
using namespace std;
class Building;
class GdGay
{
public:
    void visit(); //参观函数访问building中的属性(公共和私有)
    Building* b;
    ~GdGay()
    {
        delete b;
    }
};
class Building
{
    friend class GdGay; //这个类是本类的友元,可以访问私有属性
public:
    Building();
public:
    string m_SittingRoom;
private:
    string m_BedRoom;
};
//类外写成员函数,要表明作用域。。。其实没必要这么操作!!!
Building::Building()  //构造函数,不用写返回值类型,所以省了void
{
    m_SittingRoom = "客厅";
    m_BedRoom = "卧室";
}
GdGay::GdGay()        //构造函数,不用写返回值类型,所以省了void
{
    //创建一个建筑物的对象
    b = new Building; //在堆区创建一个对象,让b * 指向这个对象
}
void GdGay:: visit() 
{
    cout << "好基友这个类正在访问: " << b->m_SittingRoom << endl;
    cout << "好基友这个类正在访问: " << b->m_BedRoom << endl;
}
void test01()
{
    GdGay gg;
    gg.visit();
}
int main()
{
    test01();
    system("pause");
    return 0;
}

 

posted on 2021-10-06 11:47  江南水岸渣fit人  阅读(107)  评论(1)    收藏  举报