读书人

想请问一上友元函数的有关问题

发布时间: 2012-09-11 10:49:03 作者: rapoo

想请教一下友元函数的问题
今天上课,我做了一道关于能否构成三角型的题目,利用运算符重载,重载“=”和“>”,我用友元方式定义重载函数。
line operator+(line &A,line &B)
{
line tmp(0);
tmp.a=A.a+B.a;
return tmp;
}

但是输出的时候if((a+c>b) && (a+c>b) &&( b+c>a))这句话提示:
no match for 'operator>' in 'operator+(((line&)(&a)), ((line&)(&c))) > b'

但是我在定义重载函数返回值line后加了"&"后就可以,我问了老师,说什么不匹配,我还是不清楚,希望知道的人能帮助我!!!


[解决办法]
line{
public:

bool operator > (const line& a) const // 两个 const 都不能少.还有其他地方也要加const
{
}


详见effective C++

你老师估计也不懂.

读书人网 >C++

热点推荐