问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

友元函数是全局函数么?

发布网友 发布时间:2022-04-01 16:06

我来回答

3个回答

热心网友 时间:2022-04-01 17:36

我这学期学了C++,对友元和友元函数有一点认识,提供以下内容,仅供参考。
(1)友元的来历
根据类的封装性,一般将数据成员声明为私有成员,在外部不能直接访问它,只能通过类的公有成员函数对私有成员进行访问。有时,需要频繁调用成员函数来访问私有成员,这样系统开销就比较大。C++从高效的角度出发,提供了友元机制,使被声明为友元的全局函数或者其他类可以直接访问当前类中的私有成员,又不改变其私有成员的访问权限。
(2)友元的作用
友元不是类的成员函数,但能直接访问类的所有成员,又不改变受访问类成员的访问权限,避免了频繁调用类的成员函数。使用友元可以节约开销,提高程序的效率。
(3)友元不一定是全局函数
友元可以是一个全局函数,也可以是一个类的成员函数,还可以是一个类。如果友元是函数,则称为友元函数。如果友元是一个类,则称为友元类。友元类的所有成员函数都是友元函数,可以访问被访问类的所有成员。友元不是被访问类的成员,所以它不受类的访问权限(public、private、protected)影响。友元声明以关键字friend开始,注意只能出现在被访问类的定义中。
不充一点:友元不是纯面向对象的,那是因为友元并非被访问类的成员却可以任意修改类的私有成员,破坏了类的封装性。
C++有点高深,好好学吧~~~~

热心网友 时间:2022-04-01 18:54

不一定
friend只是在一个类里面标识可以访问这个类的私有成员的函数而已,只是一个声明,这个函数可以是全局函数,也可以是其他类的成员函数。

热心网友 时间:2022-04-01 20:28

正在弄类中友元函数重载的问题,如上所说,友元函数不一定是全局变量
友元友元类

友元除了可以是函数外,还可以是类,意味着友元类的所有成员函数可以访问被友元化的类的私有成员。考虑String类的“等于操作符”定义:全局函数`operator==(const String &str1, const String &str2)`与成员函数`String::operator==(const String &rhs) const`之间的区别,主要在于前者不能直接引用Stri...

运算符重载为成员函数或全局函数怎么从形式上来判断呢?友元函数呢?

如a+b,左侧的a是一个自己定义的类的对象,所以是成员函数,cout<<a, <<的左边是cout 是一个ostream对象,非你自己定义的对象,所以是友元

friend什么意思

类的外部,也就是通过实例来访问私有(private)或保护(protected)成员,这是被禁止的。但从实用性来说,的确有时很需要在外部访问,C++增加了一种称之为“友元(friend)”函数的申明,将“特权”赋给一些函数(可以是全局函数,也可以是其它类的成员函数),使之能够访问该类的私有和保护成员。友元函数必...

友元函数有什么作用?

友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下:friend 类型 函数名(形式参数);友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们是没有区别的,都说明...

C++友原函数求教?

友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率(即减少了类型检查和安全性检查等都需要的时间开销),但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。...

友元函数有什么作用?

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

求解。。有关于C++运算符定义。。

如果是全局函数(友元函数)重载,参数个数等于其操作数个数,具体答案详细原因如下:value operator+(value);这个可能是类成员重载双目+,也就是加法,也可能是全局函数(友元函数)重载单目+,即正号 value operator-(value,value);-号可能是单目,意思是负号,是双目时候为减法,根据上述原则可知肯定不...

怎样解决友元函数在类还没定义之前定义了的问题,我以为是类没有前置...

友元只能在相应的类中定义,类A的友元定义在类A里面 类B的友元也只能在类B中定义

友元函数有什么作用,它主要用在哪些情况下?

友元函数的作用就是提供直接访问对象的私有成员的接口。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。使用情况:1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分;...

python类和函数的区别

2、函数:分为全局函数、全局静态函数;在类中还可以定义构造函数、析构函数、拷贝构造函数、成员函数、友元函数、运算符重载函数、内联函数等。三、规则不同 1、类:实质是一种引用数据类型,类似于byte、short、int(char)、long、float、double等基本数据类型,不同的是它是一种复杂的数据类型。2、...

友元函数是全局函数吗 友元函数是不是类的成员函数 全局函数和局部函数 成员函数和全局函数 友元函数怎么定义 友元函数有什么作用 友元函数的使用 c友元函数 定义友元函数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
五羊本田摩托车125c太费油 拖泥带水,束手无策,是什么生肖? 北汽幻速S7两年车都有哪些费用? 新北汽幻速s7这款车后期的维护大致要多少钱?花费大吗? 新学期的打算250字作文。。。急急 一般冷暴力的话有什么? 逻辑学怎么造句 想知道: 松原市 从长岭县到集体乡胜利村怎么坐公交 孕期不同阶段进行自然胎教的方法 香港路•浅水湾配套信息 2万元保险费趸交10年后满期红利只有2700,正常吗? 炖牛肉的方法步骤 趸字念什么 请问(趸)是啥字是什么意思? 想要炖出美味又软烂的牛肉,都有哪些操作流程不可少? 2014中国人寿保险金账户10年期,是趸交合算还是期交合算,获利怎样 中意人寿优享年金保险10年期趸交十万一次交清保单年度末两年可以拿回本金加利息吗? 趸交保险期间是10年合同利益每一年都有退保金额指的是每一年都可退保吗? 十年前趸交了五万的人寿保险分红型,现在能拿多少利息? 百年两全保险趸交10年 趸交十万保险期是10年每年现金价值都是十万一整年就可以全部取回吗 2019年5月份退休职工趸补职工医疗保险10年一共要多少钱? 我本来是去建行存定期,结果她们给我存了国华泰山1号年金保险,10年趸交的,说一年到期3.8%要比 一次性付清,保险期间10年是什么意思 excel如何使一张图里有三维柱状图和二维曲线?用什么软件可以实现啊? excel2016怎么创建三维簇状柱形图图表 excel中,我的图表哪里找得到三维堆积柱形图啊? excel分层立体柱状图怎么做 gucci皮带多少钱男士皮带手表哪款好 豆浆机榨果汁如何做 美菱冰箱老是嗡嗡的响是怎么回事??? 怎样在苹果手机上删除icloud里的照片? 美菱冰箱新买的使用了半个月还是嗡嗡响是什么原因啊?,是不是质量有 新房装修如何走水电? 装修水电每平米大概多少钱? 装修的水电主要做些什么? 房子装修水电改造需要哪些材料 室内装修水电是走天好还是走地好? 房子装修,装水电大约要花多少钱? 装修师傅的经验告诉你 房屋改造装修水电的全步骤 家里装修水电安装应注意什么? 新房装修水电改造需要注意些什么? 装修后水电容易出现哪些问题? 家装改水电需要买哪些材料? 请问家里装修水电布置要注意些什么! 个人医保和职工医保有什么区别 个人灵活就业医疗保险和企业职工医疗保险有什么不同? 公司医保和个人医保有什么区别 个人医保和单位医保的区别 自由人医保与职工医保的区别?