加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c++中的友元

发布时间:2020-12-16 09:15:38 所属栏目:百科 来源:网络整理
导读:c++中的类具有封装性,类中的私有数据只有该类的成员函数可以访问,程序中访问类中的私有成员,必须通过对象来调用成员函数,但是频繁的调用会使运行效率降低。 为了解决上述问题,c++中加入友元机制,友元可以不通过调用成员函数直接访问类的私有数据来提高

c++中的类具有封装性,类中的私有数据只有该类的成员函数可以访问,程序中访问类中的私有成员,必须通过对象来调用成员函数,但是频繁的调用会使运行效率降低。

为了解决上述问题,c++中加入友元机制,友元可以不通过调用成员函数直接访问类的私有数据来提高运行效率。

友元可以是函数(友元函数)也可以是类(友元类)

友元函数:

  • 类体内说明,加friend关键字,在类体外定义,定义格式和普通函数相同。
  • 友元函数是非成员函数,调用上和普通函数相同。
  • 友元函数可以直接访问类中私有成员。

全局或函数做友元函数:

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 class Point
 5 {
 6     public:
 7     Point(double xx,double yy)
 8     {
 9         x = xx;
10         y = yy;
11     }
12     void Getxy();
13     friend double Distance(Point &a,Point &b);
14     private:
15     double x,y;
16 };
17 void Point::Getxy()
18 {
19     cout << "(" << x << "," << y << ")" << endl;
20 }
21 double Distance(Point &a,Point &b)
22 {
23     double dx = a.x --                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读