什么场景下会用到友元函数? |
您所在的位置:网站首页 › 什么情况下用函数什么情况用导数 › 什么场景下会用到友元函数? |
什么场景下会用到友元函数,友元函数的作用是什么,友元函数和普通成员函数又有怎样的区别?这都是C++当中的一些基本概念,掌握好了无论是维护项目还是做项目开发都大有裨益。本文主要浅谈一下C++中的友元函数,如有不足或者疏漏之处,烦请读者朋友及时指出,大家一起改进。 一、概述 友元函数在实现类之间数据共享时,可以减少系统开销,调高效率。比如:类A中的函数需要访问类B中的成员,那么类A中该函数要是类B的友元函数。 友元函数允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。 二、使用场景 其实一些操作符的重载实现也是要在类外实现,通常声明为类的友元。 结合上面所述,一般在以下两个场景中会用到友元函数: 1、运算符重载的某些场合需要使用友元函数; 2、两个类要共享数据的时候。 三、优缺点 1、优点:能够提高效率,表达清晰、简单; 2、缺点:破坏了类的封装(尽量不要使用成员函数,除非不得已才使用友元函数)。 四、使用说明 1、友元函数是类外函数,声明可以放在类的私有或者公有,且都没有区别; 2、直接调用友元函数不需要通过对象或者指针; 3、友元函数没有this指针,且不能被继承; 4、友元函数声明形式 friend + 普通函数声明。 五、举例说明 1、已知两点坐标,求两点之间的距离 #include #include using namespace std; class Point { public: Point(double xx, double yy) { x = xx; y = yy; } void GetXY(); friend double Distance(Point &a, Point &b); protected: private: double x, y; }; void Point::GetXY() { cout |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |