第一次遇到的问题
#include<iostream>
#include<string>
using namespace std;
class Building;
class goodgay
{
public:
void visit01();
void visit02();
private:
Building bui;
};
class Building
{
friend void goodgay::visit01();
public:
Building()
{
m_livingroom = '客厅';
m_bedroom = '卧室';
}
string m_livingroom;
private:
string m_bedroom;
};
void goodgay::visit01()
{
{
cout << "好基友visit01访问的是:" << bui.m_livingroom << endl;
cout << "好基友visit01访问的是:" << bui.m_bedroom << endl;
}
}
void goodgay::visit02()
{
cout << "好基友visit02访问的是:" << bui.m_livingroom << endl;
}
void test01()
{
goodgay gg;
gg.visit01();
gg.visit02();
}
int main()
{
test01();
return 0;
}
第二次遇到的问题
#include<iostream>
#include<string>
using namespace std;
class Building;
class goodgay
{
public:
void visit01();
void visit02();
private:
Building *bui;
};
class Building
{
friend void goodgay::visit01();
public:
Building()
{
m_livingroom = '客厅';
m_bedroom = '卧室';
}
string m_livingroom;
private:
string m_bedroom;
};
void goodgay::visit01()
{
{
cout << "好基友visit01访问的是:" << bui->m_livingroom << endl;
cout << "好基友visit01访问的是:" << bui->m_bedroom << endl;
}
}
void goodgay::visit02()
{
cout << "好基友visit02访问的是:" << bui->m_livingroom << endl;
}
void test01()
{
goodgay gg;
gg.visit01();
gg.visit02();
}
int main()
{
test01();
return 0;
}
为什么第一次用指针就可以运行了,但又会出错