友元函数有什么作用?

网上科普有关“友元函数有什么作用?”话题很是火热,小编也是针对友元函数有什么作用?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。友元不...

网上科普有关“友元函数有什么作用?”话题很是火热,小编也是针对友元函数有什么作用?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。

扩展资料:

成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定(见条款38),就要采用虚拟函数,而虚拟函数必定是某个类的成员函数。

关于这一点就这么简单。如果函数不必是虚拟的,情况就稍微复杂一点。

举例:

看下面表示有理数的一个类:

class rational {

public:

rational(int numerator = 0,int denominator = 1);

int numerator() const;

int denominator() const;

private:

对象onehalf是一个包含operator*函数的类的实例,所以编译器调用了那个函数。而整数2没有相应的类,所以没有operator*成员函数。编译器还会去搜索一个可以象下面这样调用的非成员的operator*函数(即,在某个可见的名字空间里的operator*函数或全局的operator*函数)。

参考资料:

百度百科--友元函数

在c++中,用友元函数重载后置自增运算符时,其参数表中的参数个数为?

下列关于友元函数的描述中,错误的是()。

A.友元函数不是成员函数

B.友元函数只可访问类的私有成员

C.普通函数作为友元函数时,其调用方法同一般函数

D.友元函数可以是另一类中的成员函数

正确答案:友元函数只可访问类的私有成员

C++如何将一个函数声明为2个类的友元函数

一个,在后递增运算符重载函数的参数中加一个int型的参数。

运算符++和—有前置和后置两种形式,如果不区分前置和后置,则使用operator++()或operator-()即可;否则,要使用operator++()或operator--()来重载前置运算符,使用operator++(int)或operator-(int)来重载后置运算符,调用时,参数int被传递给值0。

以++ 为例说明,用友元函数来实现“++”运算符的重载时,前置++运算符的重载的一般格式:friend <type> operator ++ (ClassName & );其中,第一个参数是要实现++运算的对象。

后置++运算符的重载的一般格式:friend <type> operator ++(ClassName &,int);其中,第一个参数是要实现++运算的对象;而第二个参数除了用于区分是后置运算外,并没有其他意义,故起参数可有可无。

扩展资料:

类的友元函数是定义在类外部,但有权访问类的所有私有成员和保护成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。

友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。

如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字friend。

只要在两个要声明的类中,分别将该函数声明为友元函数即可。

C++对友元函数属于几个类并没有限制,只要在对应类中声明为友元,则该函数即为此类的友元函数。

参考代码如下:

声明函数void test();为类A和B的友元函数。

class?A

{

private:

int?a;

friend?void?test();

};

class?B

{

private:

int?a;

friend?void?test();

};

这时 test函数同时为A和B的友元函数。

关于“友元函数有什么作用?”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[凡梦]投稿,不代表科技号立场,如若转载,请注明出处:https://hexox.com.cn/cshi/202502-1186.html

(126)

文章推荐

  • 孕几周怎么计算比较准确

    网上科普有关“孕几周怎么计算比较准确”话题很是火热,小编也是针对孕几周怎么计算比较准确寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。孕几周怎么计算比较准确 孕几周怎么计算比较准确,女性怀孕期间是一个很辛苦的过程,除了要

    2025年02月26日
    197
  • 怎样蒸螃蟹

    网上科普有关“怎样蒸螃蟹”话题很是火热,小编也是针对怎样蒸螃蟹寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。正确蒸螃蟹的方法介绍如下:材料/工具:螃蟹4只、生姜1块、葱1颗、生抽1勺、味极鲜酱油、香醋2勺、辣椒、香油1小勺、白砂糖1小勺、蒜1瓣、清水、刷子、

    2025年02月26日
    188
  • 手机wifi网络拒绝接入怎么解决

    网上科普有关“手机wifi网络拒绝接入怎么解决”话题很是火热,小编也是针对手机wifi网络拒绝接入怎么解决寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。如果您使用的是华为手机,连接WLAN提示网络拒绝接入,可以通过以下方法操作:1.如果是家庭网络,建议确认

    2025年02月27日
    177
  • 怎么判断油烟净化器需要清洗呢?

    网上科普有关“怎么判断油烟净化器需要清洗呢?”话题很是火热,小编也是针对怎么判断油烟净化器需要清洗呢?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。判断油烟净化器是否该清洗以下三个方法是比较有效的,油烟净化器在使用过程中只要出现以上情况,那肯定是需要清理。随

    2025年02月27日
    171
  • 新店开业推广方案怎么写

    网上科普有关“新店开业推广方案怎么写”话题很是火热,小编也是针对新店开业推广方案怎么写寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。新店开业推广方案可以这样写:一、活动的目的1、通过开业活动聚集人气、吸引行人观望,形成口碑宣传、达到传播的效果,进一步扩大家家

    2025年02月28日
    161
  • 诸葛亮说的臣本布衣是什么意思?

    网上科普有关“诸葛亮说的臣本布衣是什么意思?”话题很是火热,小编也是针对诸葛亮说的臣本布衣是什么意思?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。臣本布衣指的是我原本只是普通老百姓,布衣指的是麻布制的衣服。这句话出自诸葛亮的《前出师表》。这也是他在出师表中

    2025年02月25日
    150
  • 数学的单词是什么-

    网上科普有关“数学的单词是什么?”话题很是火热,小编也是针对数学的单词是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。数学的英语是:mathematics。在英式口语中mathematics可写作maths;在美式口语中mathematics可写作ma

    2024年12月15日
    17
  • 下雪天开车需要注意哪些问题?

    网上科普有关“下雪天开车需要注意哪些问题?”话题很是火热,小编也是针对下雪天开车需要注意哪些问题?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。一、注意事项:冬季雪路面附着系数很低,车轮容易打滑,因此行驶速度要低一些,行驶速度要平稳,防止超速和突然加速。需要

    2025年02月26日
    170
  • 阴阳师地域鬼王夫子庙第一打法地域鬼王夫子庙34900

    网上科普有关“阴阳师地域鬼王夫子庙第一打法地域鬼王夫子庙34900”话题很是火热,小编也是针对阴阳师地域鬼王夫子庙第一打法地域鬼王夫子庙34900寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。阴阳师地域鬼王夫子庙怎么打?地域鬼王夫子庙是阴阳师中好并分而且简单

    2025年02月27日
    137
  • 为什么说基努里维斯是好莱坞最优质男性?

    网上科普有关“为什么说基努里维斯是好莱坞最优质男性?”话题很是火热,小编也是针对为什么说基努里维斯是好莱坞最优质男性?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。17岁就进入演艺圈的基努·里维斯,因为《骇客帝国》三部曲被大家熟知。但是,基努在好莱坞的明星里

    2025年02月27日
    117

发表回复

本站作者后才能评论

评论列表(4条)

  • 凡梦
    凡梦 2025年02月28日

    我是科技号的签约作者“凡梦”!

  • 凡梦
    凡梦 2025年02月28日

    希望本篇文章《友元函数有什么作用?》能对你有所帮助!

  • 凡梦
    凡梦 2025年02月28日

    本站[科技号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 凡梦
    凡梦 2025年02月28日

    本文概览:网上科普有关“友元函数有什么作用?”话题很是火热,小编也是针对友元函数有什么作用?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。友元不...

    联系我们

    邮件:科技号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们