e.g 好朋友访问你的房间
1、头文件部分
#include <iostream>
using namespace std;
#include <string>
2、创建 类
GoodGay类中,包含一个Building类的指针,设置函数visit()来访问building中的属性。
class Building;//告诉编译器一会儿会用到这个类
class GoodGay{
public:
GoodGay();//构造函数 此处类外去写
//参观函数 访问Building中的属性
void visit();
Building * building;//创建了一个Building类的指针
};
class Building{
friend class GoodGay;//GoodGay是本类的好朋友,可以访问本类中私有成员
public:
Building ();//构造函数
public:
string m_Sittingroom;//客厅
private:
string m_Bedroom;//卧室
};
(类做友元,即在另一个类中“声明”这个类,加上关键字friend,即可访问所有属性。)
3、类内函数在类外写函数功能:记得加作用域
//类外写成员函数 在Building作用域下
Building::Building(){
m_Sittingroom = "客厅";
m_Bedroom = "卧室";
}
GoodGay::GoodGay(){
//创建建筑物对象
//👇这是一个指针(GoodGay类下的Building * building) 类内指针一定要分配内存
building = new Building;//new了一个什么样的数据类型就会返回一个什么样的数据类型的指针
}
void GoodGay::visit(){
cout<<"好基友正在访问:"<< building->m_Sittingroom<<endl;
cout<<"好基友正在访问:"<< building->m_Bedroom<<endl;
}
4、函数调试
void test01(){
GoodGay g;
g.visit();
}
int main(){
test01();
system("pause");
return 0;
}