c++中,友元函数和静态函数在使用上有什么区别?不都是无this指针,以本类对象做形参来调用私有数据吗?
3个回答
展开全部
友元函数有两个特点:没有对称性(意思是如果a = b可以说b是a的友元类/函数,但是不能反着来)
不可传递性(例如:a=b ;b=c ;a=c.这是一般的数学思想,友元函数或友元类里结果是:a!=b.你要这么做了肯定会出错。)
静态函数有三个特点:1:只能对静态数据进行操作;2:静态函数只能调用静态成员函数;3:静态函数不含this指针。
不可传递性(例如:a=b ;b=c ;a=c.这是一般的数学思想,友元函数或友元类里结果是:a!=b.你要这么做了肯定会出错。)
静态函数有三个特点:1:只能对静态数据进行操作;2:静态函数只能调用静态成员函数;3:静态函数不含this指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
友元函数不是类的成员,声明的友元函数可以调用类内的所有成员,包含私有成员,方便了数据共享。静态函数是全局的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询