这是C++的一个+运算符重载问题,那位高手能帮我分析一下以下代码有什么错误?

#include<iostream.h>classFraction{intnumerator;intdenominator;intsign;public:Fraction... #include<iostream.h>
class Fraction{
int numerator;
int denominator;
int sign;
public:
Fraction(int n=0,int d=1);
~Fraction();
void setFract(int n,int d);
friend Fraction operator + (const Fraction &f1,const Fraction &f2);
};
这是分数类的定义
以下为+运算符函数的重载实现:
Fraction operator + (const Fraction &f1,const Fraction &f2){
Fraction f;
f.numerator =f1.numerator*f2.denominator+f1.denominator*f2.numerator;
f.denominator=f1.denominator*f2.denominator;

if(f1.sign*f2.sign<0)
f.sign=-1;
else
f.sign=1;
return f;
}

连接错误:
Fraction.cpp
G:\C++\myCpp\chapter7\exp7_16\Fraction.cpp(101) : error C2601: '+' : local function definitions are illegal
G:\C++\myCpp\chapter7\exp7_16\Fraction.cpp(101) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.

Fraction.obj - 2 error(s), 0 warning(s)
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
匿名用户
2011-08-08
展开全部
你写出来的部分没有问题,应该是+运算符函数的重载实现前面那个函数大括弧不配对
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-08
展开全部
检查下细节吧,比如半角什么的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式