全局函数
成员函数
友元函数
友元全局函数
class Coordinate
{
friend void printXY(Coordinate &c);//通常友元函数写在一个类的开头
public:
Coordinate(int x,int y);
private:
int m_ix;
int m_iy;
};
void printXY(Coordinate &c)//这里传入一个引用或者指针传递效率更高,执行速度更快
{
cout<<c.m_ix<<c.m_iy;
}
int main()
{
Coordinate coor(3,5);
printXY(coor);//传入对象名
return 0;
}
友元的注意事项:
1、友元关系不可传递
2、友元关系的单向性
3、友元声明的形式及数量不受限制
4、友元破坏了数据的封装性
//Time 类
#ifdef TIME_H
#define TIME_H
class Match;//声明类
class Time
{
friend Match;//友元类
public:
Time(int hour,int min,int sec);
private:
void printTime();
int m_iHour;
int m_iMin;
int m_iSec;
};
#endif
#include"Match.h"
#include<iostream>
using namespace std;
Match::M
友元类和友元函数
最新推荐文章于 2020-04-09 16:23:16 发布