当前位置: 首页> 健康> 美食 > 校际凡科送审平台登录_建立网站小程序_襄阳seo优化排名_产品推广的渠道

校际凡科送审平台登录_建立网站小程序_襄阳seo优化排名_产品推广的渠道

时间:2025/7/28 9:56:05来源:https://blog.csdn.net/2402_83162616/article/details/144355017 浏览次数:0次
校际凡科送审平台登录_建立网站小程序_襄阳seo优化排名_产品推广的渠道

目录

一、基本概念

二、全局函数做友元

三、类做友元

四、成员函数做友元


一、基本概念

目的:让一个函数或者类,访问另一个类中的私有成员

关键字:friend

  • 友元的三种实现
  1. 全局函数做友元
  2. 类做友元
  3. 成员函数做友元

二、全局函数做友元

代码示例

#include<iostream>
using namespace std;class Building{// 告诉编译器,goodgay全局变量是类Building 的好朋友,可以访问私有内容friend void goodgay(Building * building);public:Building(){keting = "客厅";badroom = "卧室";}
public:string keting;private:string badroom;};void goodgay(Building * building){cout<<"您的好友正在访问您的"<< "  " <<building->keting<<endl;cout<<"您的好友正在访问您的"<< "  " <<building->badroom<<endl;
}void test(){Building b;goodgay(&b);
}int main(){test();
}

三、类做友元

代码示例 

#include<iostream>
using namespace std;class Building;
class goodgay{public:goodgay();void vis();	 // 参观函数,访问Building中的属性private:Building * building;
};class Building{//告诉编译器,类goodgay是类Building 的好朋友,可以访问私有内容friend class goodgay; 
public:Building();
public:string keting;
private:string badroom;
};Building::Building(){ // 类外写成员函数this->keting = "客厅";this->badroom = "卧室";
}goodgay::goodgay(){ // 类外写成员函数building = new Building; //创建建筑物对象
}void goodgay::vis(){cout<<"您的好友正在访问您的"<<building->keting <<endl;cout<<"您的好友正在访问您的"<<building->badroom <<endl;
}void test(){goodgay gg;gg.vis();}
int main(){test();
}

四、成员函数做友元

代码示例 

#include<iostream>
using namespace std;class Building;class goodgay{
public:goodgay();void vis();void vis2();
private:Building * building;
};class Building{//告诉编译器,类goodgay中的成员变量vis是类Building 的好朋友,可以访问私有内容friend void goodgay::vis(); public:Building();
public:string keting;
private:string badroom;
};//       类外实现成员函数
Building::Building(){this->keting = "客厅";this->badroom = "卧室";
}goodgay::goodgay(){building = new Building;
}
void goodgay::vis(){cout<<"您的好友vis正在访问您的"<<building->keting<<endl;cout<<"您的好友vis正在访问您的"<<building->badroom<<endl;
}void goodgay::vis2(){cout<<"您的好友vis2正在访问您的"<<building->keting<<endl;
//	cout<<"您的好友vis正在访问您的"<<building->badroom<<endl;
}void test(){goodgay gg;gg.vis();gg.vis2();
}
int main(){test();}
关键字:校际凡科送审平台登录_建立网站小程序_襄阳seo优化排名_产品推广的渠道

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: