c++友联函数

下面这段代码是调用了友联函数的代码,我就想知道,怎么在main()函数里面调用这个友联函数,请各位大侠指点指点。#include"stdafx.h"#include<io... 下面这段代码是调用了友联函数的代码,我就想知道,怎么在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);
展开
 我来答
黄邦勇帅哥哥
2010-03-24 · TA获得超过3989个赞
知道大有可为答主
回答量:1199
采纳率:100%
帮助的人:579万
展开全部
在访问友元函数时只须首先声明一下该函数就可以访问了。举例说明吧
class A{
public:
friend void f(){cout<<"f"<<endl;}
};

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

}
百度网友1d581fec3
2010-03-24 · 超过18用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
把友元函数的前面的friend 不要就行了。
sales_item a,b;
Sales_item add(a,b);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式