|
发表于 2020-11-12 09:57:18
|
显示全部楼层
本楼为最佳答案
本帖最后由 xieglt 于 2020-11-12 10:00 编辑
- #include <iostream.h>
- #include <string>
- #include <stdlib.h>
- using namespace std;
- class Goodgay;
- class Building;
- class Goodgay{
- public:
- Goodgay();
- ~Goodgay();
- void visit1();
- void visit2(); //visit2可以访问building私有成员
- Building * build;
- };
- class Building
- {
- friend void Goodgay::visit2(); //这里声明了友元
- public:
- //可以这样赋值
- Building()
- {
- m_SettingRoom = "客厅";
- m_BedRoom = "卧室";
- }
- public:
- string m_SettingRoom; // = "客厅";不能这么赋值
- private:
- string m_BedRoom; // = "卧室" ;不能这么赋值
- };
- Goodgay::Goodgay()
- {
- build = new Building;
-
- }
- //注意释放内存
- ~Goodgay::Goodgay()
- {
- delete build;
- }
- void Goodgay::visit1()
- {
- //cout 不能输出 string 对象,要输出只能输出 string.c_str()
- cout << "正在访问Building中的:" << build->m_SettingRoom.c_str() << endl;
- }
- void Goodgay::visit2()
- {
- //cout 不能输出 string 对象,要输出只能输出 string.c_str()
- cout << "正在访问Building中的:"<< build->m_BedRoom.c_str() << endl;
- }
- void test01(){
- Goodgay g;
- g.visit1();
- g.visit2();
-
-
- }
- int main(){
- test01();
-
- system("pause");
- return 0;
- }
复制代码 |
|