永发信息网

c++友联函数

答案:3  悬赏:40  手机版
解决时间 2021-03-07 07:32
下面这段代码是调用了友联函数的代码,我就想知道,怎么在main()函数里面调用这个友联函数,请各位大侠指点指点。
#include "stdafx.h"
#include <iostream>
#include <string>
class Sales_item{
public:
friend Sales_item add(const Sales_item&, const Sales_item&);
bool same_isbn(const Sales_item &rhs) const
{return isbn == rhs.isbn;}

Sales_item(const std::string &book = ""):isbn(book), units_sold(0), revenue(0.0) {}
Sales_item(std::istream &is)
{
std::cin>>isbn>>units_sold>>revenue;
}
private:
std::string isbn;
unsigned units_sold;
double revenue;
};

Sales_item add(const Sales_item &obj1, const Sales_item &obj2)
{
if(!obj1.same_isbn(obj2))
return obj1;
Sales_item temp;
temp.isbn = obj1.isbn;
temp.units_sold = obj1.units_sold + obj2.units_sold;
temp.revenue = obj1.revenue + obj2.units_sold;
return temp;
}

void main()
{
}
应该是这样写吧?
Sales_item a,b;
add(a,b);
最佳答案
在访问友元函数时只须首先声明一下该函数就可以访问了。举例说明吧
class A{
public:
friend void f(){cout<<"f"<<endl;}
};

main()
{void f(); //在使用友元函数之前先声明一下,如果在全局声明就能在全局
访问,如果在局部声明就只能在局部访问
f(); //直接调用友元函数。因为友元函数不是类的成员。

}
全部回答
把友元函数的前面的friend 不要就行了。 sales_item a,b; Sales_item add(a,b);
把友元函数的前面的friend 不要就行了。 sales_item a,b; Sales_item add(a,b); 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
wow出现在屏幕中间的团队消息怎么弄的?!
为什么游泳训练男孩子都要穿三角泳裤?
江西姓什么的最多
北门盘道地址在什么地方,想过去办事
笔记本电脑第一次用电池有什么注意事项吗
6-7-8月适合到哪些地方女游
在一个没有余数的除法算式中在除数加除数乘商
圣诞节是哪个国家的节日?
求生化危机7电影百度云…那些发个链接是微信
显像管尾板滤波电容10uf250v可不可以替换成20
公安机关不按法定程序辞退警察该如何赔偿
茂名能建广东电力有限公司地址在什么地方,想
【贾宗超】2010年6月北京师范大学贾宗超教授
为什么坐飞机不能带液体,而飞机上却有喝的?
无印抹茶:“万达金街的无印抹茶,无论什么时
推荐资讯
我想学日语,有没有什么手机软件随身听可以下
苏州哪里有卖爆珠的烟
提交门店的,不通过审核原因,疑似数据重复,
从陕西出发去辽宁大学怎么走
为什么液化气的总阀门关闭了仔细闻好像还有淡
geneve是什么牌子手表
打铁花的作文400字
一个亿多重
自从我不小心按了wifi后面的一个恢复出厂键,
清水怎么去啊,有知道地址的么
工厂里上班两班倒和常白班有什么优缺点
沙发布规格都哪些,沙发布有什么作用?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?