码迷,mamicode.com
首页 > 其他好文 > 详细

友元函数和友元类

时间:2018-09-15 14:31:44      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:friend   变量   友元   成员   text   作用   定义   通过   直接   

友元全局函数以及友元成员函数

关键字: friend

class A{
//友元全局函数
friend void printXY(A & a);
//友元成员函数,是B的成员函数
friend void B::printXY(A & a);
public:
A(int a,int b){}

private:
int m_a;
int m_b;

};

class B{
 public:
void printXY(A & a){
    cout<< a.m_a<<endl;
    cout<< a.m_b<<endl;
    }
}
int main(){
    
void printXY(A & a){
    cout<< a.m_a<<endl;
    cout<< a.m_b<<endl;
}

友元函数的作用:可以通过全局函数或者其他类的成员函数,访问类中的私有成员变量。

友元类

//声明一下A类
class A;
//定义友元类
class B{
friend A;
public:
  B(int x, int y){}
private:
  int _x;
  int _y;
};
class A{
public:
  void printXY(){
    cout<<b._x<<b._y<<endl;
}
private:
  B b;
};

通过友元类可以直接访问友元类中的私有成员变量

 关于友元的注意事项

  • 友元关系不可传递
  • 友元关系的单向性
  • 友元的申明的形式以及数量不受限制
  • 友元是封装的一种补充,是不得已而为之的,不是一种很好的语法

 

友元函数和友元类

标签:friend   变量   友元   成员   text   作用   定义   通过   直接   

原文地址:https://www.cnblogs.com/geooeg/p/9650448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!